virDomainSnapshotAlignDisks: Extract domain disk definition to a local variable

Extract the disk def to a local variable so that it's more obvious
what's happening and it will also allow further simplification.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2020-09-21 18:51:56 +02:00
parent e2f1919907
commit df35821978

View File

@ -677,6 +677,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapdef,
for (i = 0; i < snapdef->ndisks; i++) {
virDomainSnapshotDiskDefPtr snapdisk = &snapdef->disks[i];
int idx = virDomainDiskIndexByName(domdef, snapdisk->name, false);
virDomainDiskDefPtr domdisk = NULL;
int disk_snapshot;
if (idx < 0) {
@ -685,6 +686,8 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapdef,
return -1;
}
domdisk = domdef->disks[idx];
if (virBitmapIsBitSet(map, idx)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("disk '%s' specified twice"),
@ -694,7 +697,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapdef,
ignore_value(virBitmapSetBit(map, idx));
snapdisk->idx = idx;
disk_snapshot = domdef->disks[idx]->snapshot;
disk_snapshot = domdisk->snapshot;
if (!snapdisk->snapshot) {
if (disk_snapshot &&
(!require_match ||
@ -722,9 +725,9 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr snapdef,
snapdisk->src->path, snapdisk->name);
return -1;
}
if (STRNEQ(snapdisk->name, domdef->disks[idx]->dst)) {
if (STRNEQ(snapdisk->name, domdisk->dst)) {
VIR_FREE(snapdisk->name);
snapdisk->name = g_strdup(domdef->disks[idx]->dst);
snapdisk->name = g_strdup(domdisk->dst);
}
}