All of lore.kernel.org
 help / color / mirror / Atom feed
* [f2fs-dev] [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
  0 siblings, 0 replies; 38+ messages in thread
From: Chao Yu @ 2024-05-06 10:33 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-kernel, linux-f2fs-devel

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



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

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

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

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.