From: Zhiguo Niu Date: Wed, 17 Jan 2024 07:59:58 +0000 (+0800) Subject: f2fs: use IS_INODE replace IS_DNODE in f2fs_flush_inline_data X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=8e9c1a349b5e227f687fa6f047e1a785b07371ea;p=linux.git f2fs: use IS_INODE replace IS_DNODE in f2fs_flush_inline_data Now IS_DNODE is used in f2fs_flush_inline_data and it has some problems: 1. Just only inodes may include inline data,not all direct nodes 2. When system IO is busy, it is inefficient to lock a direct node page but not an inode page. Besides, if this direct node page is being locked by others for IO, f2fs_flush_inline_data will be blocked here, which will affects the checkpoint process, this is unreasonable. So IS_INODE should be used in f2fs_flush_inline_data. Signed-off-by: Zhiguo Niu Reviewed-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index 9b546fd210100..1d898a16f05a1 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1919,7 +1919,7 @@ void f2fs_flush_inline_data(struct f2fs_sb_info *sbi) for (i = 0; i < nr_folios; i++) { struct page *page = &fbatch.folios[i]->page; - if (!IS_DNODE(page)) + if (!IS_INODE(page)) continue; lock_page(page);