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 <mlevi...@redhat.com> Reviewed-by: Alberto Garcia <be...@igalia.com> --- block/qcow2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 3a90ef2786..68c9182f92 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -3847,12 +3847,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); } ret = 0; -finish: + qobject_unref(qdict); bdrv_unref(bs); bdrv_unref(data_bs); -- 2.26.2