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 <stefa...@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com> > --- > block/nvme.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-)
Reviewed-by: Stefano Garzarella <sgarz...@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 > >