f2fs: fix error path of __f2fs_build_free_nids
authorZhiguo Niu <zhiguo.niu@unisoc.com>
Mon, 16 Oct 2023 11:27:31 +0000 (19:27 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Nov 2023 17:19:45 +0000 (17:19 +0000)
commit0237975d8e3ec10c07b8169e22a6cea35afd8475
treed2b22c33562ba190f40f727f5633e4e627a43b54
parente69ec2352087d9b6f5bcf31dbd4c14028b74671a
f2fs: fix error path of __f2fs_build_free_nids

[ Upstream commit a5e80e18f268ea7c7a36bc4159de0deb3b5a2171 ]

If NAT is corrupted, let scan_nat_page() return EFSCORRUPTED, so that,
caller can set SBI_NEED_FSCK flag into checkpoint for later repair by
fsck.

Also, this patch introduces a new fscorrupted error flag, and in above
scenario, it will persist the error flag into superblock synchronously
to avoid it has no luck to trigger a checkpoint to record SBI_NEED_FSCK

Signed-off-by: Zhiguo Niu <zhiguo.niu@unisoc.com>
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/f2fs/node.c
include/linux/f2fs_fs.h