mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 21:34:54 +03:00
conf: backup: Fix logic for generating default backup filenames
If the 'disk->store' property is already allocated which happens e.g. when the disk is described by the backup XML but the optional filename is not filled in 'virDomainBackupDefAssignStore' would not fill in the default location. Fix the logic to do it also if a 'virStorageSource' categorizes as empty. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
de48ade195
commit
1222ada2af
@ -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;
|
||||
}
|
||||
|
||||
if (!disk->store)
|
||||
disk->store = virStorageSourceNew();
|
||||
|
||||
disk->store->type = VIR_STORAGE_TYPE_FILE;
|
||||
disk->store->path = g_strdup_printf("%s.%s", src->path, suffix);
|
||||
}
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user