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
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
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 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
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
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