Use the bdrv_co_delete_file interface to delete the underlying file if qcow2 initialization fails (e.g due to bad encryption secret)
This makes the qcow2 driver behave the same way as the luks driver behaves. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1845353 V3: addressed review feedback and reworked commit messages V4: got rid of code duplication by adding bdrv_co_delete_file_noerr and made the qcow2 driver use this function to delete both the main and the data file. V5: addresssed review feedback on reworked version. V6: addressed most of the review feedback. Best regards, Maxim Levitsky Maxim Levitsky (3): crypto: luks: Fix tiny memory leak block: add bdrv_co_delete_file_noerr block: qcow2: remove the created file on initialization error block.c | 22 ++++++++++++++++++++++ block/crypto.c | 13 ++----------- block/qcow2.c | 8 +++++--- include/block/block.h | 1 + 4 files changed, 30 insertions(+), 14 deletions(-) -- 2.26.2