WSL2-Linux-Kernel/fs/f2fs
Chao Yu 497d736784 f2fs: fix to account FS_CP_DATA_IO correctly
[ Upstream commit d80afefb17 ]

f2fs_inode_info.cp_task was introduced for FS_CP_DATA_IO accounting
since commit b0af6d491a ("f2fs: add app/fs io stat").

However, cp_task usage coverage has been increased due to below
commits:
commit 040d2bb318 ("f2fs: fix to avoid deadloop if data_flush is on")
commit 186857c5a1 ("f2fs: fix potential recursive call when enabling data_flush")

So that, if data_flush mountoption is on, when data flush was
triggered from background, the IO from data flush will be accounted
as checkpoint IO type incorrectly.

In order to fix this issue, this patch splits cp_task into two:
a) cp_task: used for IO accounting
b) wb_task: used to avoid deadlock

Fixes: 040d2bb318 ("f2fs: fix to avoid deadloop if data_flush is on")
Fixes: 186857c5a1 ("f2fs: fix potential recursive call when enabling data_flush")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-10-26 12:35:28 +02:00
..
Kconfig
Makefile
acl.c
acl.h
checkpoint.c f2fs: fix to account FS_CP_DATA_IO correctly 2022-10-26 12:35:28 +02:00
compress.c
data.c f2fs: fix to account FS_CP_DATA_IO correctly 2022-10-26 12:35:28 +02:00
debug.c
dir.c f2fs: don't use casefolded comparison for "." and ".." 2022-06-09 10:23:17 +02:00
extent_cache.c f2fs: fix race condition on setting FI_NO_EXTENT flag 2022-10-26 12:35:28 +02:00
f2fs.h f2fs: fix to account FS_CP_DATA_IO correctly 2022-10-26 12:35:28 +02:00
file.c f2fs: do not allow to decompress files have FI_COMPRESS_RELEASED 2022-08-17 14:24:16 +02:00
gc.c f2fs: fix to do sanity check on summary info 2022-10-26 12:34:28 +02:00
gc.h
hash.c f2fs: don't use casefolded comparison for "." and ".." 2022-06-09 10:23:17 +02:00
inline.c f2fs: fix to do sanity check for inline inode 2022-06-09 10:23:18 +02:00
inode.c f2fs: fix to do sanity check for inline inode 2022-06-09 10:23:18 +02:00
iostat.c
iostat.h
namei.c f2fs: attach inline_data after setting compression 2022-06-29 09:03:27 +02:00
node.c f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() 2022-08-25 11:40:44 +02:00
node.h
recovery.c f2fs: fix to do sanity check on summary info 2022-10-26 12:34:28 +02:00
segment.c f2fs: fix to account FS_CP_DATA_IO correctly 2022-10-26 12:35:28 +02:00
segment.h f2fs: fix to do sanity check on total_data_blocks 2022-06-09 10:23:17 +02:00
shrinker.c
super.c f2fs: increase the limit for reserve_root 2022-10-26 12:34:27 +02:00
sysfs.c
verity.c f2fs: support fault injection for dquot_initialize() 2022-06-09 10:23:13 +02:00
xattr.c f2fs: support fault injection for dquot_initialize() 2022-06-09 10:23:13 +02:00
xattr.h