diff options
| author | Yang Xiuwei <yangxiuwei@kylinos.cn> | 2026-03-04 07:51:19 +0300 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-03-04 16:59:26 +0300 |
| commit | 8da8df43124128e0478beadb58faa9cab56a3f13 (patch) | |
| tree | 25fbea30a09e9ec13e4957cee3c6da1a24c21f95 | |
| parent | 539d1b47e935e8384977dd7e5cec370c08b7a644 (diff) | |
| download | linux-8da8df43124128e0478beadb58faa9cab56a3f13.tar.xz | |
block: use __bio_add_page in bio_copy_kern
Since the bio is allocated with the exact number of pages needed via
blk_rq_map_bio_alloc(), and the loop iterates exactly that many times,
bio_add_page() cannot fail due to insufficient space. Switch to
__bio_add_page() and remove the dead error handling code.
Suggested-by: Christoph Hellwig <hch@infradead.org>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Yang Xiuwei <yangxiuwei@kylinos.cn>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | block/blk-map.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/block/blk-map.c b/block/blk-map.c index 4533094d9458..c6fa2238d578 100644 --- a/block/blk-map.c +++ b/block/blk-map.c @@ -398,8 +398,7 @@ static struct bio *bio_copy_kern(struct request *rq, void *data, unsigned int le if (op_is_write(op)) memcpy(page_address(page), p, bytes); - if (bio_add_page(bio, page, bytes, 0) < bytes) - break; + __bio_add_page(bio, page, bytes, 0); len -= bytes; p += bytes; |
