rbd: use bvec_set_page to initialize the copy up bvec
authorChristoph Hellwig <hch@lst.de>
Fri, 3 Feb 2023 15:06:19 +0000 (16:06 +0100)
committerJens Axboe <axboe@kernel.dk>
Fri, 3 Feb 2023 15:20:55 +0000 (08:20 -0700)
Use the bvec_set_page helper to initialize the copy up bvec.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Link: https://lore.kernel.org/r/20230203150634.3199647-9-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/rbd.c

index 04453f4..1faca7e 100644 (file)
@@ -3068,13 +3068,12 @@ static int setup_copyup_bvecs(struct rbd_obj_request *obj_req, u64 obj_overlap)
 
        for (i = 0; i < obj_req->copyup_bvec_count; i++) {
                unsigned int len = min(obj_overlap, (u64)PAGE_SIZE);
+               struct page *page = alloc_page(GFP_NOIO);
 
-               obj_req->copyup_bvecs[i].bv_page = alloc_page(GFP_NOIO);
-               if (!obj_req->copyup_bvecs[i].bv_page)
+               if (!page)
                        return -ENOMEM;
 
-               obj_req->copyup_bvecs[i].bv_offset = 0;
-               obj_req->copyup_bvecs[i].bv_len = len;
+               bvec_set_page(&obj_req->copyup_bvecs[i], page, len, 0);
                obj_overlap -= len;
        }