Message ID | 20240506103313.773503-1-chao@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [f2fs-dev,1/3] f2fs: fix to release node block count in error path of f2fs_new_node_page() | expand |
Hello: This series was applied to jaegeuk/f2fs.git (dev) by Jaegeuk Kim <jaegeuk@kernel.org>: On Mon, 6 May 2024 18:33:11 +0800 you wrote: > It missed to call dec_valid_node_count() to release node block count > in error path, fix it. > > Fixes: 141170b759e0 ("f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()") > Signed-off-by: Chao Yu <chao@kernel.org> > --- > fs/f2fs/node.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) Here is the summary with links: - [f2fs-dev,1/3] f2fs: fix to release node block count in error path of f2fs_new_node_page() (no matching commit) - [f2fs-dev,2/3] f2fs: fix to add missing iput() in gc_data_segment() https://git.kernel.org/jaegeuk/f2fs/c/a798ff17cd2d - [f2fs-dev,3/3] f2fs: fix to do sanity check on i_nid for inline_data inode (no matching commit) You are awesome, thank you!
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index b3de6d6cdb02..ae39971825bc 100644 --- a/fs/f2fs/node.c +++ b/fs/f2fs/node.c @@ -1313,15 +1313,14 @@ struct page *f2fs_new_node_page(struct dnode_of_data *dn, unsigned int ofs) #ifdef CONFIG_F2FS_CHECK_FS err = f2fs_get_node_info(sbi, dn->nid, &new_ni, false); - if (err) { - dec_valid_node_count(sbi, dn->inode, !ofs); - goto fail; - } + if (err) + goto out_dec; + if (unlikely(new_ni.blk_addr != NULL_ADDR)) { err = -EFSCORRUPTED; set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_handle_error(sbi, ERROR_INVALID_BLKADDR); - goto fail; + goto out_dec; } #endif new_ni.nid = dn->nid; @@ -1345,7 +1344,8 @@ struct page *f2fs_new_node_page(struct dnode_of_data *dn, unsigned int ofs) if (ofs == 0) inc_valid_inode_count(sbi); return page; - +out_dec: + dec_valid_node_count(sbi, dn->inode, !ofs); fail: clear_node_page_dirty(page); f2fs_put_page(page, 1);
It missed to call dec_valid_node_count() to release node block count in error path, fix it. Fixes: 141170b759e0 ("f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()") Signed-off-by: Chao Yu <chao@kernel.org> --- fs/f2fs/node.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)