diff mbox series

[08/23] rbd: use bvec_set_page to initialize the copy up bvec

Message ID 20230130092157.1759539-9-hch@lst.de (mailing list archive)
State New, archived
Headers show
Series [01/23] block: factor out a bvec_set_page helper | expand

Commit Message

Christoph Hellwig Jan. 30, 2023, 9:21 a.m. UTC
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(-)

Comments

Ilya Dryomov Jan. 30, 2023, 5:47 p.m. UTC | #1
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 mbox series

Patch

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;
 	}