summaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorZhiguo Niu <zhiguo.niu@unisoc.com>2024-01-17 15:59:58 +0800
committerJaegeuk Kim <jaegeuk@kernel.org>2024-02-05 18:58:41 -0800
commit8e9c1a349b5e227f687fa6f047e1a785b07371ea (patch)
treed8f7d84b0feeeae0a0d3f4c58695e01822d881cf /fs/f2fs
parentf289e95fffd5e6b59d175cb1e653db0daad7e456 (diff)
downloadlinux-8e9c1a349b5e227f687fa6f047e1a785b07371ea.tar.gz
linux-8e9c1a349b5e227f687fa6f047e1a785b07371ea.tar.bz2
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>
Diffstat (limited to 'fs/f2fs')
-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);