qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu


From: Stefano Garzarella
Subject: Re: [PATCH v5 10/15] block/nvme: Replace qemu_try_blockalign(bs) by qemu_try_memalign(pg_sz)
Date: Fri, 21 Aug 2020 12:08:53 +0200

On Thu, Aug 20, 2020 at 06:58:56PM +0200, Philippe Mathieu-Daudé wrote:
> qemu_try_blockalign() is a generic API that call back to the
> block driver to return its page alignment. As we call from
> within the very same driver, we already know to page alignment
> stored in our state. Remove indirections and use the value from
> BDRVNVMeState.
> This change is required to later remove the BlockDriverState
> argument, to make nvme_init_queue() per hardware, and not per
> block driver.
> 
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  block/nvme.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)

Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>

> 
> diff --git a/block/nvme.c b/block/nvme.c
> index ac6bb52043d..f180078e781 100644
> --- a/block/nvme.c
> +++ b/block/nvme.c
> @@ -174,7 +174,7 @@ static void nvme_init_queue(BlockDriverState *bs, 
> NVMeQueue *q,
>  
>      bytes = ROUND_UP(nentries * entry_bytes, s->page_size);
>      q->head = q->tail = 0;
> -    q->queue = qemu_try_blockalign(bs, bytes);
> +    q->queue = qemu_try_memalign(s->page_size, bytes);
>      if (!q->queue) {
>          error_setg(errp, "Cannot allocate queue");
>          return;
> @@ -223,7 +223,7 @@ static NVMeQueuePair 
> *nvme_create_queue_pair(BlockDriverState *bs,
>      if (!q) {
>          return NULL;
>      }
> -    q->prp_list_pages = qemu_try_blockalign(bs,
> +    q->prp_list_pages = qemu_try_memalign(s->page_size,
>                                            s->page_size * NVME_QUEUE_SIZE);
>      if (!q->prp_list_pages) {
>          goto fail;
> @@ -522,7 +522,7 @@ static void nvme_identify(BlockDriverState *bs, int 
> namespace, Error **errp)
>          .cdw10 = cpu_to_le32(0x1),
>      };
>  
> -    id = qemu_try_blockalign(bs, sizeof(*id));
> +    id = qemu_try_memalign(s->page_size, sizeof(*id));
>      if (!id) {
>          error_setg(errp, "Cannot allocate buffer for identify response");
>          goto out;
> @@ -1141,7 +1141,7 @@ static int nvme_co_prw(BlockDriverState *bs, uint64_t 
> offset, uint64_t bytes,
>          return nvme_co_prw_aligned(bs, offset, bytes, qiov, is_write, flags);
>      }
>      trace_nvme_prw_buffered(s, offset, bytes, qiov->niov, is_write);
> -    buf = qemu_try_blockalign(bs, bytes);
> +    buf = qemu_try_memalign(s->page_size, bytes);
>  
>      if (!buf) {
>          return -ENOMEM;
> @@ -1285,7 +1285,7 @@ static int coroutine_fn 
> nvme_co_pdiscard(BlockDriverState *bs,
>  
>      assert(s->nr_queues > 1);
>  
> -    buf = qemu_try_blockalign(bs, s->page_size);
> +    buf = qemu_try_memalign(s->page_size, s->page_size);
>      if (!buf) {
>          return -ENOMEM;
>      }
> -- 
> 2.26.2
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]