On 10/19/18 11:30 AM, Kevin Wolf wrote:
> Commit e2b8247a322 introduced an error path in qemu_rbd_open() after
> calling rbd_open(), but neglected to close the image again in this error
> path. The error path should contain everything that the regular close
> function qemu_rbd_close() contains.
>
> This adds the missing rbd_close() call.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> block/rbd.c | 1 +
> 1 file changed, 1 insertion(+)
>
Reviewed-by: Eric Blake <eblake@redhat.com>
> diff --git a/block/rbd.c b/block/rbd.c
> index 014c68d629..27c9a1e81c 100644
> --- a/block/rbd.c
> +++ b/block/rbd.c
> @@ -787,6 +787,7 @@ static int qemu_rbd_open(BlockDriverState *bs, QDict *options, int flags,
> "automatically marking the image read-only.");
> r = bdrv_set_read_only(bs, true, &local_err);
> if (r < 0) {
> + rbd_close(s->image);
> error_propagate(errp, local_err);
> goto failed_open;
> }
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org