block: downgrade a bio_full call in bio_add_page
authorChristoph Hellwig <hch@lst.de>
Mon, 24 Jul 2023 16:54:31 +0000 (09:54 -0700)
committerJens Axboe <axboe@kernel.dk>
Tue, 25 Jul 2023 01:55:16 +0000 (19:55 -0600)
bio_add_page already checks that there is space in bi_size a little
earlier.  So after we failed to add to an existing segment, just check
that there is another one available instead of duplicating the bi_size
check.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jinyoung Choi <j-young.choi@samsung.com>
Link: https://lore.kernel.org/r/20230724165433.117645-7-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/bio.c

index 17f57fd..d8e0e8d 100644 (file)
@@ -1126,7 +1126,7 @@ int bio_add_page(struct bio *bio, struct page *page,
            __bio_try_merge_page(bio, page, len, offset, &same_page))
                return len;
 
-       if (bio_full(bio, len))
+       if (bio->bi_vcnt >= bio->bi_max_vecs)
                return 0;
        __bio_add_page(bio, page, len, offset);
        return len;