Message ID | 20230130092157.1759539-9-hch@lst.de |
---|---|
State | Superseded |
Headers | show |
Series | [01/23] block: factor out a bvec_set_page helper | expand |
On Mon, Jan 30, 2023 at 10:22 AM Christoph Hellwig <hch@lst.de> wrote: > > Use the bvec_set_page helper to initialize the copy up bvec. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > drivers/block/rbd.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c > index 04453f4a319cb4..1faca7e07a4d52 100644 > --- a/drivers/block/rbd.c > +++ b/drivers/block/rbd.c > @@ -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; > } > > -- > 2.39.0 > Reviewed-by: Ilya Dryomov <idryomov@gmail.com> Thanks, Ilya
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c index 04453f4a319cb4..1faca7e07a4d52 100644 --- a/drivers/block/rbd.c +++ b/drivers/block/rbd.c @@ -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; }
Use the bvec_set_page helper to initialize the copy up bvec. Signed-off-by: Christoph Hellwig <hch@lst.de> --- drivers/block/rbd.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)