[PATCH v2] f2fs: fix error path handling in f2fs_read_data_large_folio()

Chao Yu posted 1 patch 3 weeks, 1 day ago
fs/f2fs/data.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
[PATCH v2] f2fs: fix error path handling in f2fs_read_data_large_folio()
Posted by Chao Yu 3 weeks, 1 day ago
In error path of f2fs_read_data_large_folio(), if bio is valid, it
may submit bio twice, fix it.

Signed-off-by: Chao Yu <chao@kernel.org>
---
v2:
- rebase the code
 fs/f2fs/data.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 5b4832956196..d685c889f7b6 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2577,17 +2577,14 @@ static int f2fs_read_data_large_folio(struct inode *inode,
 		folio_end_read(folio, !ret);
 		return ret;
 	}
-
+out:
+	f2fs_submit_read_bio(F2FS_I_SB(inode), bio, DATA);
 	if (ret) {
-		f2fs_submit_read_bio(F2FS_I_SB(inode), bio, DATA);
-
 		/* Wait bios and clear uptodate. */
 		folio_lock(folio);
 		folio_clear_uptodate(folio);
 		folio_unlock(folio);
 	}
-out:
-	f2fs_submit_read_bio(F2FS_I_SB(inode), bio, DATA);
 	return ret;
 }
 
-- 
2.40.1