diff options
author | Weichao Guo <guoweichao@oppo.com> | 2021-09-18 20:46:36 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-12-01 09:04:55 +0100 |
commit | 8984bba3b4c0b36be6cbcd7ac4a8779a045bd670 (patch) | |
tree | 7fc84856aadd2c754b70d436586d6aad5cca4616 | |
parent | fb89bcbfbf373524afa2dd54e339dc45404c0176 (diff) | |
download | linux-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.c | 1 |
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); |