On Sat, Nov 05, 2016 at 10:44:07AM +0800, Chao Yu wrote: > On 2016/10/20 10:26, Jaegeuk Kim wrote: > > Change log from v1: > > o avoid performance regression > > > >>From b34a3d3c4c3fa2d6e000acc99bc5216a247bd6cb Mon Sep 17 00:00:00 2001 > > From: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> > > Date: Fri, 14 Oct 2016 11:51:23 -0700 > > Subject: [PATCH] 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. fragment space > > 3. touch all files in the image > > 4. umount > > > > In this case, we actually don't need to flush dirty inode to inode page during > > checkpoint. > > > > Reported-by: Chao Yu <chao@xxxxxxxxxx> > > Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> > > Good job! IMO, main job of checkpoint is to keep filesystem being consistent, > not flush dirty datas of vfs/fs as much as possible, if there are some > restrictions for the interface like fsync, syncfs, sync, the caller of > checkpoint() should do related job like marking lazytime inode I_DIRTY_SYNC or > flush last data in dirty inode into filesystem's cache, and so on. :) > > BTW, can you change commit log a bit as below: Okay, not a big deal. > > 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 > > Reviewed-by: Chao Yu <yuchao0@xxxxxxxxxx> > > Thanks, -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html