[f2fs-dev] Questions about commit f2fs: fix to avoid broken of dnode block list

2018-07-03 Thread Xu, Wen
Hi Chao, https://git.kernel.org/pub/scm/linux/kernel/git/chao/linux.git/commit/?h=f2fs-dev=0ac2890156ab517a8ac79849ee5abab7ad60310b In this patch: f2fs: fix to avoid broken of dnode block list -int f2fs_wait_on_node_pages_writeback(struct f2fs_sb_info *sbi, nid_t ino) +int

[f2fs-dev] [PATCH] f2fs: give another chance to issue discard with current granularity

2018-07-03 Thread Chao Yu
If discard IOs are blocked by user IO, do not skip to select and issue discard with lower granularity, retry with current granularity. Signed-off-by: Chao Yu --- fs/f2fs/segment.c | 8 1 file changed, 8 insertions(+) diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c index

[f2fs-dev] [PATCH 2/2] f2fs: let checkpoint flush dnode page of regular

2018-07-03 Thread Chao Yu
Fsyncer will wait on all dnode pages of regular writeback before flushing, if there are async dnode pages blocked by IO scheduler, it may decrease fsync's performance. In this patch, we choose to let f2fs_balance_fs_bg() to trigger checkpoint to flush these dnode pages of regular, so async IO of

[f2fs-dev] [PATCH 1/2] f2fs: fix to avoid broken of dnode block list

2018-07-03 Thread Chao Yu
f2fs recovery flow is relying on dnode block link list, it means fsynced file recovery depends on previous dnode's persistence in the list, so during fsync() we should wait on all regular inode's dnode writebacked before issuing flush. By this way, we can avoid dnode block list being broken by

[f2fs-dev] [PATCH 2/2] fsck.f2fs: check extra_attr feature

2018-07-03 Thread Sheng Yong
Check extra_attr feature for inode. If it is corrupted, remove the inode. Link: https://bugzilla.kernel.org/show_bug.cgi?id=200219 Reported-by: Wen Xu Signed-off-by: Sheng Yong --- fsck/fsck.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/fsck/fsck.c b/fsck/fsck.c index

[f2fs-dev] [PATCH 1/2] fsck.f2fs: check extent of inline data/dentry inode

2018-07-03 Thread Sheng Yong
Check extent for inline data/dentry inode. If an inode contains inline data/dentry, it should have no extent. Link: https://bugzilla.kernel.org/show_bug.cgi?id=200175 Reported-by: Wen Xu Signed-off-by: Sheng Yong --- fsck/fsck.c | 16 +++- fsck/fsck.h | 1 + 2 files changed, 12