block: qcow2: remove the created file on initialization error

If the qcow initialization fails, we should remove the file if it was
already created, to avoid leaving stale files around.

We already do this for luks raw images.

Signed-off-by: Maxim Levitsky <mlevitsk@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-Id: <20201217170904.946013-4-mlevitsk@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Maxim Levitsky 2020-12-17 19:09:04 +02:00 committed by Kevin Wolf
parent a890f08e58
commit 6094cbeb72

View file

@ -3846,12 +3846,14 @@ static int coroutine_fn qcow2_co_create_opts(BlockDriver *drv,
/* Create the qcow2 image (format layer) */
ret = qcow2_co_create(create_options, errp);
finish:
if (ret < 0) {
goto finish;
bdrv_co_delete_file_noerr(bs);
bdrv_co_delete_file_noerr(data_bs);
} else {
ret = 0;
}
ret = 0;
finish:
qobject_unref(qdict);
bdrv_unref(bs);
bdrv_unref(data_bs);