f2fs: don't track volatile file in dirty inode list
authorChao Yu <yuchao0@huawei.com>
Wed, 22 Mar 2017 09:23:46 +0000 (17:23 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Fri, 24 Mar 2017 19:10:51 +0000 (15:10 -0400)
Don't track volatile file in dirty inode list, otherwise with data_flush
option, background thread will entry into endless loop for flushing
journal file's pages.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/checkpoint.c

index 7dd7dd5..adcc2c3 100644 (file)
@@ -817,7 +817,9 @@ static void __add_dirty_inode(struct inode *inode, enum inode_type type)
                return;
 
        set_inode_flag(inode, flag);
-       list_add_tail(&F2FS_I(inode)->dirty_list, &sbi->inode_list[type]);
+       if (!f2fs_is_volatile_file(inode))
+               list_add_tail(&F2FS_I(inode)->dirty_list,
+                                               &sbi->inode_list[type]);
        stat_inc_dirty_inode(sbi, type);
 }