public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] f2fs: fix to release node block count in error path of f2fs_new_node_page()
@ 2024-05-06 10:33 Chao Yu
  2024-05-06 10:33 ` [PATCH 2/3] f2fs: fix to add missing iput() in gc_data_segment() Chao Yu
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Chao Yu @ 2024-05-06 10:33 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu

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(-)

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);
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2024-05-20 16:32 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-06 10:33 [PATCH 1/3] f2fs: fix to release node block count in error path of f2fs_new_node_page() Chao Yu
2024-05-06 10:33 ` [PATCH 2/3] f2fs: fix to add missing iput() in gc_data_segment() Chao Yu
2024-05-09  0:46   ` Jaegeuk Kim
2024-05-09  2:49     ` Chao Yu
2024-05-09 15:50       ` Jaegeuk Kim
2024-05-10  3:36       ` [f2fs-dev] " Chao Yu
2024-05-06 10:33 ` [PATCH 3/3] f2fs: fix to do sanity check on i_nid for inline_data inode Chao Yu
2024-05-09 15:52   ` Jaegeuk Kim
2024-05-10  2:14     ` Chao Yu
2024-05-10  3:36       ` Jaegeuk Kim
2024-05-10 14:16         ` Chao Yu
2024-05-11  0:38           ` Jaegeuk Kim
2024-05-11  3:07             ` Chao Yu
2024-05-14 16:07               ` Jaegeuk Kim
2024-05-15  1:34                 ` Chao Yu
2024-05-15  4:39                   ` Jaegeuk Kim
2024-05-15  6:12                     ` Chao Yu
2024-05-20 16:32                       ` Jaegeuk Kim
2024-05-11  0:50 ` [f2fs-dev] [PATCH 1/3] f2fs: fix to release node block count in error path of f2fs_new_node_page() patchwork-bot+f2fs

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox