[libvirt] [PATCH] qemu: snapshot: Fix incorrect disk type for auto-generated disks
John Ferlan
jferlan at redhat.com
Thu Dec 5 20:11:31 UTC 2013
On 12/05/2013 11:30 AM, Peter Krempa wrote:
> On 12/05/13 17:17, Peter Krempa wrote:
>> When changing the parsing and formatting functions in commit
>> 43f2ccdc73090bd03f64de4d58d46ffa0134d705 I forgot to update the qemu
>> disk alingnment function for snapshots that automatically adds snapshot
>> configs for disks that were not mentioned in the XML. The function
>> allocated a new disk snapshot definition but did not correctly
>> initialize the snapshot disk source type variable. This resulted into
>> the disks considered as block devices and invalid XML was generated.
>>
>> Reported by John Ferlan.
>> ---
>>
>> Notes:
>> Doing a unit test for this will require yet another addition to the testsuite
>> so I'm sending this patch first.
>>
>> src/conf/snapshot_conf.c | 10 ++++++++++
>> 1 file changed, 10 insertions(+)
>>
ACK as amended - the virt-test's pass again too
John
>> diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
>> index 5637975..55abd80 100644
>> --- a/src/conf/snapshot_conf.c
>> +++ b/src/conf/snapshot_conf.c
>> @@ -532,6 +532,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
>> goto cleanup;
>> disk->index = i;
>> disk->snapshot = def->dom->disks[i]->snapshot;
>> + disk->type = -1;
>> if (!disk->snapshot)
>> disk->snapshot = default_snapshot;
>> }
>> @@ -549,6 +550,15 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
>> const char *tmp;
>> struct stat sb;
>>
>> + if (disk->type != VIR_DOMAIN_DISK_TYPE_FILE ||
>
> I forgot to amend the patch before sending. Please consider && in place
> of || in the line above.
>
>> + disk->type != -1) {
>> + virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
>> + _("cannot generate external snapshot name "
>> + "for disk '%s' on a '%s' device"),
>> + disk->name, virDomainDiskTypeToString(disk->type));
>> + goto cleanup;
>> + }
>> +
>> if (!original) {
>> virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
>> _("cannot generate external snapshot name "
>>
>
> Peter
>
>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
More information about the libvir-list
mailing list