qcow2 supports backing files so it makes sense to default to qcow2 for MIRROR_SYNC_MODE_NONE so that we can use the source as a backing drive and export it via nbd. Defaulting FULL and TOP to SYNC_MODE_NONE breaks tests but that could be fixed if we wanted it.
Signed-off-by: Ian Main <im...@redhat.com> --- blockdev.c | 5 ++++- qapi-schema.json | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/blockdev.c b/blockdev.c index 000dea6..a56ba08 100644 --- a/blockdev.c +++ b/blockdev.c @@ -1462,7 +1462,10 @@ void qmp_drive_backup(const char *device, const char *target, } if (!has_format) { - format = mode == NEW_IMAGE_MODE_EXISTING ? NULL : bs->drv->format_name; + format = NULL; + if (mode != NEW_IMAGE_MODE_EXISTING) { + format = sync == MIRROR_SYNC_MODE_NONE ? "qcow2" : bs->drv->format_name; + } } if (format) { drv = bdrv_find_format(format); diff --git a/qapi-schema.json b/qapi-schema.json index b3f6c2a..e2c86f9 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -1806,6 +1806,7 @@ # # @format: #optional the format of the new destination, default is to # probe if @mode is 'existing', else the format of the source +# drive. If @sync is 'none' then the default is qcow2. # # @sync: what parts of the disk image should be copied to the destination # (all the disk, only the sectors allocated in the topmost image, or -- 1.8.1.4