On Thu, Aug 20, 2020 at 06:58:52PM +0200, Philippe Mathieu-Daudé wrote: > Rearrange nvme_add_io_queue() by using a common error path. > This will be proven useful in few commits where we add IRQ > notification to the IO queues. > > Reviewed-by: Stefan Hajnoczi <[email protected]> > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > --- > block/nvme.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-)
Reviewed-by: Stefano Garzarella <[email protected]> > > diff --git a/block/nvme.c b/block/nvme.c > index 53448b7d230..3101f1ad55d 100644 > --- a/block/nvme.c > +++ b/block/nvme.c > @@ -649,8 +649,7 @@ static bool nvme_add_io_queue(BlockDriverState *bs, Error > **errp) > }; > if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { > error_setg(errp, "Failed to create CQ io queue [%d]", n); > - nvme_free_queue_pair(q); > - return false; > + goto out_error; > } > cmd = (NvmeCmd) { > .opcode = NVME_ADM_CMD_CREATE_SQ, > @@ -660,13 +659,15 @@ static bool nvme_add_io_queue(BlockDriverState *bs, > Error **errp) > }; > if (nvme_cmd_sync(bs, s->queues[INDEX_ADMIN], &cmd)) { > error_setg(errp, "Failed to create SQ io queue [%d]", n); > - nvme_free_queue_pair(q); > - return false; > + goto out_error; > } > s->queues = g_renew(NVMeQueuePair *, s->queues, n + 1); > s->queues[n] = q; > s->nr_queues++; > return true; > +out_error: > + nvme_free_queue_pair(q); > + return false; > } > > static bool nvme_poll_cb(void *opaque) > -- > 2.26.2 > >
