From: Peter Krempa Date: Fri, 20 Dec 2019 08:33:40 +0000 (+0100) Subject: qemu: backup: Configure backup store image with backing file X-Git-Tag: v6.0.0-rc1~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6b994bafd47aa5ef3d6fc6c063213092b116bb9;p=thirdparty%2Flibvirt.git qemu: backup: Configure backup store image with backing file In contrast to snapshots the backup job does not complain when the backup job's store file has backing pre-configured. It's actually required so that the NBD server exposes all the data properly. Remove our fake termination and use the existing disk source as backing. Signed-off-by: Peter Krempa Reviewed-by: Daniel P. Berrangé --- diff --git a/src/qemu/qemu_backup.c b/src/qemu/qemu_backup.c index a039beaede..24a53fd85f 100644 --- a/src/qemu/qemu_backup.c +++ b/src/qemu/qemu_backup.c @@ -302,7 +302,6 @@ qemuBackupDiskPrepareDataOne(virDomainObjPtr vm, bool removeStore) { qemuDomainObjPrivatePtr priv = vm->privateData; - g_autoptr(virStorageSource) terminator = NULL; /* set data structure */ dd->backupdisk = backupdisk; @@ -331,17 +330,14 @@ qemuBackupDiskPrepareDataOne(virDomainObjPtr vm, return -1; } - /* install terminator to prevent qemu form opening backing images */ - if (!(terminator = virStorageSourceNew())) - return -1; - if (!(dd->blockjob = qemuBlockJobDiskNewBackup(vm, dd->domdisk, dd->store, removeStore, dd->incrementalBitmap))) return -1; + /* use original disk as backing to prevent opening the backing chain */ if (!(dd->crdata = qemuBuildStorageSourceChainAttachPrepareBlockdevTop(dd->store, - terminator, + dd->domdisk->src, priv->qemuCaps))) return -1;