summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWeichao Guo <guoweichao@oppo.com>2021-09-18 20:46:36 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-12-01 09:04:55 +0100
commit8984bba3b4c0b36be6cbcd7ac4a8779a045bd670 (patch)
tree7fc84856aadd2c754b70d436586d6aad5cca4616
parentfb89bcbfbf373524afa2dd54e339dc45404c0176 (diff)
downloadlinux-stable-8984bba3b4c0b36be6cbcd7ac4a8779a045bd670.tar.gz
linux-stable-8984bba3b4c0b36be6cbcd7ac4a8779a045bd670.tar.bz2
linux-stable-8984bba3b4c0b36be6cbcd7ac4a8779a045bd670.zip
f2fs: set SBI_NEED_FSCK flag when inconsistent node block found
[ Upstream commit 6663b138ded1a59e630c9e605e42aa7fde490cdc ] Inconsistent node block will cause a file fail to open or read, which could make the user process crashes or stucks. Let's mark SBI_NEED_FSCK flag to trigger a fix at next fsck time. After unlinking the corrupted file, the user process could regenerate a new one and work correctly. Signed-off-by: Weichao Guo <guoweichao@oppo.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--fs/f2fs/node.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index e863136081b4..556fcd8457f3 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1443,6 +1443,7 @@ page_hit:
nid, nid_of_node(page), ino_of_node(page),
ofs_of_node(page), cpver_of_node(page),
next_blkaddr_of_node(page));
+ set_sbi_flag(sbi, SBI_NEED_FSCK);
err = -EINVAL;
out_err:
ClearPageUptodate(page);