diff --git a/src/conf/backup_conf.c b/src/conf/backup_conf.c index 013c08cd6e..e151c29738 100644 --- a/src/conf/backup_conf.c +++ b/src/conf/backup_conf.c @@ -424,7 +424,8 @@ virDomainBackupDefAssignStore(virDomainBackupDiskDef *disk, } } - if (!disk->store) { + if (!disk->store || + virStorageSourceIsEmpty(disk->store)) { if (virStorageSourceGetActualType(src) != VIR_STORAGE_TYPE_FILE) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("refusing to generate file name for disk '%1$s'"), @@ -432,7 +433,9 @@ virDomainBackupDefAssignStore(virDomainBackupDiskDef *disk, return -1; } - disk->store = virStorageSourceNew(); + if (!disk->store) + disk->store = virStorageSourceNew(); + disk->store->type = VIR_STORAGE_TYPE_FILE; disk->store->path = g_strdup_printf("%s.%s", src->path, suffix); } diff --git a/tests/domainbackupxml2xmlin/backup-push.xml b/tests/domainbackupxml2xmlin/backup-push.xml index 0bfec9b270..a95833d407 100644 --- a/tests/domainbackupxml2xmlin/backup-push.xml +++ b/tests/domainbackupxml2xmlin/backup-push.xml @@ -5,6 +5,7 @@ + diff --git a/tests/domainbackupxml2xmlout/backup-push.xml b/tests/domainbackupxml2xmlout/backup-push.xml index 317dcf6e47..fff7db716b 100644 --- a/tests/domainbackupxml2xmlout/backup-push.xml +++ b/tests/domainbackupxml2xmlout/backup-push.xml @@ -5,6 +5,9 @@ + + +