summaryrefslogtreecommitdiff
path: root/fs/f2fs/node.c
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2023-10-20 01:51:08 +0300
committerJaegeuk Kim <jaegeuk@kernel.org>2023-10-20 01:51:08 +0300
commit50a472bbc79ff9d5a88be8019a60e936cadf9f13 (patch)
tree62d99af01976563ffeff653bb58cbf2280516fa9 /fs/f2fs/node.c
parenta5e80e18f268ea7c7a36bc4159de0deb3b5a2171 (diff)
downloadlinux-50a472bbc79ff9d5a88be8019a60e936cadf9f13.tar.xz
f2fs: do not return EFSCORRUPTED, but try to run online repair
If we return the error, there's no way to recover the status as of now, since fsck does not fix the xattr boundary issue. Cc: stable@vger.kernel.org Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Diffstat (limited to 'fs/f2fs/node.c')
-rw-r--r--fs/f2fs/node.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 1c8bf56c834c..256270d6a065 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -2750,7 +2750,9 @@ recover_xnid:
f2fs_update_inode_page(inode);
/* 3: update and set xattr node page dirty */
- memcpy(F2FS_NODE(xpage), F2FS_NODE(page), VALID_XATTR_BLOCK_SIZE);
+ if (page)
+ memcpy(F2FS_NODE(xpage), F2FS_NODE(page),
+ VALID_XATTR_BLOCK_SIZE);
set_page_dirty(xpage);
f2fs_put_page(xpage, 1);