OSDN Git Service

rbd: Close image in qemu_rbd_open() error path
authorKevin Wolf <kwolf@redhat.com>
Thu, 18 Oct 2018 13:17:26 +0000 (15:17 +0200)
committerKevin Wolf <kwolf@redhat.com>
Mon, 5 Nov 2018 14:09:55 +0000 (15:09 +0100)
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>
Reviewed-by: Eric Blake <eblake@redhat.com>
block/rbd.c

index e5bf5a1..1e9819a 100644 (file)
@@ -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;
             }