diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-10-14 11:51:23 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2016-11-23 12:11:08 -0800 |
commit | 7c45729a4d6d1c90879e6c5c2df325c2f6db7191 (patch) | |
tree | 25a2eba8a74807d3c05d023e34b983e5bb3b3871 /fs/f2fs/inline.c | |
parent | 664ba972df9b96942191db3068274cc1db899774 (diff) | |
download | blackbird-op-linux-7c45729a4d6d1c90879e6c5c2df325c2f6db7191.tar.gz blackbird-op-linux-7c45729a4d6d1c90879e6c5c2df325c2f6db7191.zip |
f2fs: keep dirty inodes selectively for checkpoint
This is to avoid no free segment bug during checkpoint caused by a number of
dirty inodes.
The case was reported by Chao like this.
1. mount with lazytime option
2. fill 4k file until disk is full
3. sync filesystem
4. read all files in the image
5. umount
In this case, we actually don't need to flush dirty inode to inode page during
checkpoint.
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/inline.c')
-rw-r--r-- | fs/f2fs/inline.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c index 9cd3379581be..8cab5df539c6 100644 --- a/fs/f2fs/inline.c +++ b/fs/f2fs/inline.c @@ -575,7 +575,7 @@ void f2fs_delete_inline_entry(struct f2fs_dir_entry *dentry, struct page *page, f2fs_put_page(page, 1); dir->i_ctime = dir->i_mtime = current_time(dir); - f2fs_mark_inode_dirty_sync(dir); + f2fs_mark_inode_dirty_sync(dir, false); if (inode) f2fs_drop_nlink(dir, inode); |