summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhiguo Niu <zhiguo.niu@unisoc.com>2024-01-17 08:59:58 +0100
committerJaegeuk Kim <jaegeuk@kernel.org>2024-02-06 03:58:41 +0100
commit8e9c1a349b5e227f687fa6f047e1a785b07371ea (patch)
treed8f7d84b0feeeae0a0d3f4c58695e01822d881cf
parentf2fs: compress: remove some redundant codes in f2fs_cache_compressed_page (diff)
downloadlinux-8e9c1a349b5e227f687fa6f047e1a785b07371ea.tar.xz
linux-8e9c1a349b5e227f687fa6f047e1a785b07371ea.zip
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 <zhiguo.niu@unisoc.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/node.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 9b546fd21010..1d898a16f05a 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);