Re: [PATCH v6 3/3] block: qcow2: remove the created file on initialization error

2020-12-17 Thread Vladimir Sementsov-Ogievskiy

17.12.2020 20:09, Maxim Levitsky wrote:

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
Reviewed-by: Alberto Garcia


Reviewed-by: Vladimir Sementsov-Ogievskiy 

--
Best regards,
Vladimir



[PATCH v6 3/3] block: qcow2: remove the created file on initialization error

2020-12-17 Thread Maxim Levitsky
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 
Reviewed-by: Alberto Garcia 
---
 block/qcow2.c | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/block/qcow2.c b/block/qcow2.c
index 3a90ef2786..a8638d250a 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);
+} else {
+ret = 0;
 }
 
-ret = 0;
-finish:
 qobject_unref(qdict);
 bdrv_unref(bs);
 bdrv_unref(data_bs);
-- 
2.26.2