diff options
-rw-r--r-- | src/conf/backup_conf.c | 7 | ||||
-rw-r--r-- | tests/domainbackupxml2xmlin/backup-push.xml | 1 | ||||
-rw-r--r-- | tests/domainbackupxml2xmlout/backup-push.xml | 3 |
3 files changed, 9 insertions, 2 deletions
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 @@ <driver type='raw'/> <target file='/path/to/file'/> </disk> + <disk name='vdb' type='file' backupmode='full'/> <disk name='hda' backup='no'/> </disks> </domainbackup> 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 @@ <driver type='raw'/> <target file='/path/to/file'/> </disk> + <disk name='vdb' backup='yes' type='file' backupmode='full'> + <target file='/fake/vdb.qcow2.SUFFIX'/> + </disk> <disk name='hda' backup='no'/> <disk name='vdextradisk' backup='no'/> </disks> |