f2fs: do not bother checkpoint by f2fs_get_node_info
authorJaegeuk Kim <jaegeuk@kernel.org>
Mon, 13 Dec 2021 22:16:32 +0000 (14:16 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Mar 2023 07:48:50 +0000 (08:48 +0100)
commita517c651f116c11b487ea12361ce52f62fe4df7e
tree3de17978e7c2ca6fe011d42110619dd2a69b8778
parente553323198258f60adee185b5819345ba1ced377
f2fs: do not bother checkpoint by f2fs_get_node_info

[ Upstream commit a9419b63bf414775e8aeee95d8c4a5e0df690748 ]

This patch tries to mitigate lock contention between f2fs_write_checkpoint and
f2fs_get_node_info along with nat_tree_lock.

The idea is, if checkpoint is currently running, other threads that try to grab
nat_tree_lock would be better to wait for checkpoint.

Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Stable-dep-of: 3aa51c61cb4a ("f2fs: retry to update the inode page given data corruption")
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/checkpoint.c
fs/f2fs/compress.c
fs/f2fs/data.c
fs/f2fs/f2fs.h
fs/f2fs/file.c
fs/f2fs/gc.c
fs/f2fs/inline.c
fs/f2fs/inode.c
fs/f2fs/node.c
fs/f2fs/recovery.c
fs/f2fs/segment.c