[PATCH] f2fs: pass correct iostat type for single node writes

Wenjie Qi posted 1 patch 4 days, 10 hours ago
fs/f2fs/node.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] f2fs: pass correct iostat type for single node writes
Posted by Wenjie Qi 4 days, 10 hours ago
f2fs_write_single_node_folio() takes an io_type argument, but still
passes FS_GC_NODE_IO to __write_node_folio() unconditionally.

This was harmless while the helper was only used by
f2fs_move_node_folio(), whose caller passes FS_GC_NODE_IO. However,
commit fe9b8b30b971 ("f2fs: fix inline data not being written to disk
in writeback path") made f2fs_inline_data_fiemap() call the helper with
FS_NODE_IO for FIEMAP_FLAG_SYNC.

Honor the caller supplied io_type so inline-data FIEMAP sync writeback is
accounted as normal node IO instead of GC node IO, while the GC path
continues to pass FS_GC_NODE_IO explicitly.

Fixes: fe9b8b30b971 ("f2fs: fix inline data not being written to disk in writeback path")
Signed-off-by: Wenjie Qi <qiwenjie@xiaomi.com>
---
 fs/f2fs/node.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 4e5bd9e4cfc..6a9e77c87d1 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1875,7 +1875,7 @@ int f2fs_write_single_node_folio(struct folio *node_folio, int sync_mode,
 	}
 
 	if (!__write_node_folio(node_folio, false, false, NULL,
-				&wbc, false, FS_GC_NODE_IO, NULL))
+				&wbc, false, io_type, NULL))
 		err = -EAGAIN;
 	goto release_folio;
 out_folio:
-- 
2.43.0
Re: [PATCH] f2fs: pass correct iostat type for single node writes
Posted by Chao Yu 3 days, 14 hours ago
On 5/20/26 20:07, Wenjie Qi wrote:
> f2fs_write_single_node_folio() takes an io_type argument, but still
> passes FS_GC_NODE_IO to __write_node_folio() unconditionally.
> 
> This was harmless while the helper was only used by
> f2fs_move_node_folio(), whose caller passes FS_GC_NODE_IO. However,
> commit fe9b8b30b971 ("f2fs: fix inline data not being written to disk
> in writeback path") made f2fs_inline_data_fiemap() call the helper with
> FS_NODE_IO for FIEMAP_FLAG_SYNC.
> 
> Honor the caller supplied io_type so inline-data FIEMAP sync writeback is
> accounted as normal node IO instead of GC node IO, while the GC path
> continues to pass FS_GC_NODE_IO explicitly.
> 

Cc: stable@kernel.org

> Fixes: fe9b8b30b971 ("f2fs: fix inline data not being written to disk in writeback path")
> Signed-off-by: Wenjie Qi <qiwenjie@xiaomi.com>

Reviewed-by: Chao Yu <chao@kernel.org>

Thanks,