From: Peter Krempa Date: Mon, 7 Dec 2020 16:05:40 +0000 (+0100) Subject: backup: Move file format check from parser to qemu driver X-Git-Tag: v7.0.0-rc1~272 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d46512fc954ef9091c485b001af50860d42297b7;p=thirdparty%2Flibvirt.git backup: Move file format check from parser to qemu driver It's a technical detail in qemu that QCOW2 is needed for a pull-mode backup. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/conf/backup_conf.c b/src/conf/backup_conf.c index ea812cc432..47e3bc1d60 100644 --- a/src/conf/backup_conf.c +++ b/src/conf/backup_conf.c @@ -204,11 +204,6 @@ virDomainBackupDiskDefParseXML(xmlNodePtr node, virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("unknown disk backup driver '%s'"), driver); return -1; - } else if (!push && def->store->format != VIR_STORAGE_FILE_QCOW2) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("pull mode requires qcow2 driver, not '%s'"), - driver); - return -1; } } diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index 09f7921ea7..b2340eb1cf 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -266,8 +266,16 @@ qemuBackupDiskPrepareDataOne(virDomainObjPtr vm, if (!qemuDomainDiskBlockJobIsSupported(vm, dd->domdisk)) return -1; - if (!dd->store->format) + if (dd->store->format == VIR_STORAGE_FILE_NONE) { dd->store->format = VIR_STORAGE_FILE_QCOW2; + } else if (dd->store->format != VIR_STORAGE_FILE_QCOW2) { + if (pull) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("pull mode backup for disk '%s' requires qcow2 driver"), + dd->backupdisk->name); + return -1; + } + } /* calculate backing store to use: * push mode: