mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-04-14 09:57:39 +02:00
[ Upstream commitd80afefb17] f2fs_inode_info.cp_task was introduced for FS_CP_DATA_IO accounting since commitb0af6d491a("f2fs: add app/fs io stat"). However, cp_task usage coverage has been increased due to below commits: commit040d2bb318("f2fs: fix to avoid deadloop if data_flush is on") commit186857c5a1("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>