Re: [PATCH 1/2] f2fs: fix to remove f2fs_bug_on in add_bio_entry

From: Chao Yu
Date: Sun Mar 10 2024 - 23:54:13 EST


On 2024/3/8 18:12, Zhiguo Niu wrote:
add_bio_entry should not trigger system panic when bio_add_page fail,
fix to remove it.

Fixes: 0b20fcec8651 ("f2fs: cache global IPU bio")
Signed-off-by: Zhiguo Niu <zhiguo.niu@xxxxxxxxxx>
---
fs/f2fs/data.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index d9494b5..f8ae684 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -759,8 +759,10 @@ static void add_bio_entry(struct f2fs_sb_info *sbi, struct bio *bio,
be->bio = bio;
bio_get(bio);
- if (bio_add_page(bio, page, PAGE_SIZE, 0) != PAGE_SIZE)
- f2fs_bug_on(sbi, 1);
+ if (bio_add_page(bio, page, PAGE_SIZE, 0) != PAGE_SIZE) {
+ bio_put(bio);

I didn't get it, why new created bio has no space to store one page?

Thanks,

+ return;
+ }
f2fs_down_write(&io->bio_list_lock);
list_add_tail(&be->list, &io->bio_list);