diff mbox series

[f2fs-dev] f2fs: fix to do sanity check on extent cache correctly

Message ID 20230109034920.492914-1-chao@kernel.org (mailing list archive)
State Superseded
Commit 14c42b75ee1481df6e7262245e5ef3a167325c33
Headers show
Series [f2fs-dev] f2fs: fix to do sanity check on extent cache correctly | expand

Commit Message

Chao Yu Jan. 9, 2023, 3:49 a.m. UTC
In do_read_inode(), sanity_check_inode() should be called after
f2fs_init_read_extent_tree(), fix it.

Fixes: 72840cccc0a1 ("f2fs: allocate the extent_cache by default")
Signed-off-by: Chao Yu <chao@kernel.org>
---
 fs/f2fs/inode.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

Comments

patchwork-bot+f2fs@kernel.org Jan. 30, 2023, 11 p.m. UTC | #1
Hello:

This patch was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:

On Mon,  9 Jan 2023 11:49:20 +0800 you wrote:
> In do_read_inode(), sanity_check_inode() should be called after
> f2fs_init_read_extent_tree(), fix it.
> 
> Fixes: 72840cccc0a1 ("f2fs: allocate the extent_cache by default")
> Signed-off-by: Chao Yu <chao@kernel.org>
> ---
>  fs/f2fs/inode.c | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)

Here is the summary with links:
  - [f2fs-dev] f2fs: fix to do sanity check on extent cache correctly
    https://git.kernel.org/jaegeuk/f2fs/c/14c42b75ee14

You are awesome, thank you!
diff mbox series

Patch

diff --git a/fs/f2fs/inode.c b/fs/f2fs/inode.c
index de5cd311ca79..574dee5d44e0 100644
--- a/fs/f2fs/inode.c
+++ b/fs/f2fs/inode.c
@@ -413,12 +413,6 @@  static int do_read_inode(struct inode *inode)
 		fi->i_inline_xattr_size = 0;
 	}
 
-	if (!sanity_check_inode(inode, node_page)) {
-		f2fs_put_page(node_page, 1);
-		f2fs_handle_error(sbi, ERROR_CORRUPTED_INODE);
-		return -EFSCORRUPTED;
-	}
-
 	/* check data exist */
 	if (f2fs_has_inline_data(inode) && !f2fs_exist_data(inode))
 		__recover_inline_status(inode, node_page);
@@ -482,6 +476,12 @@  static int do_read_inode(struct inode *inode)
 	f2fs_init_read_extent_tree(inode, node_page);
 	f2fs_init_age_extent_tree(inode);
 
+	if (!sanity_check_inode(inode, node_page)) {
+		f2fs_put_page(node_page, 1);
+		f2fs_handle_error(sbi, ERROR_CORRUPTED_INODE);
+		return -EFSCORRUPTED;
+	}
+
 	f2fs_put_page(node_page, 1);
 
 	stat_inc_inline_xattr(inode);