diff options
author | Weichao Guo <guoweichao@oppo.com> | 2021-09-18 14:46:36 +0200 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2021-09-21 01:29:00 +0200 |
commit | 6663b138ded1a59e630c9e605e42aa7fde490cdc (patch) | |
tree | 08608d82d41ef37267530125080801ebf197282c /fs/f2fs/node.c | |
parent | f2fs: introduce excess_dirty_threshold() (diff) | |
download | linux-6663b138ded1a59e630c9e605e42aa7fde490cdc.tar.xz linux-6663b138ded1a59e630c9e605e42aa7fde490cdc.zip |
f2fs: set SBI_NEED_FSCK flag when inconsistent node block found
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>
Diffstat (limited to 'fs/f2fs/node.c')
-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); |