mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 03:12:22 +00:00
qemu: Use qemuAliasFromDisk to generate drive alias
Rather than open code build the drive alias command in multiple places, use the helper to ensure consistency.
This commit is contained in:
parent
13effcafd2
commit
f0f16c1e28
@ -1427,7 +1427,11 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
|
||||
}
|
||||
|
||||
if (emitDeviceSyntax) {
|
||||
virBufferAsprintf(&opt, ",id=%s%s", QEMU_DRIVE_HOST_PREFIX, disk->info.alias);
|
||||
char *drivealias = qemuAliasFromDisk(disk);
|
||||
if (!drivealias)
|
||||
goto error;
|
||||
virBufferAsprintf(&opt, ",id=%s", drivealias);
|
||||
VIR_FREE(drivealias);
|
||||
} else {
|
||||
if (busid == -1 && unitid == -1) {
|
||||
if (idx != -1)
|
||||
@ -1788,6 +1792,7 @@ qemuBuildDriveDevStr(const virDomainDef *def,
|
||||
virBuffer opt = VIR_BUFFER_INITIALIZER;
|
||||
const char *bus = virDomainDiskQEMUBusTypeToString(disk->bus);
|
||||
const char *contAlias;
|
||||
char *drivealias;
|
||||
int controllerModel;
|
||||
|
||||
if (qemuCheckDiskConfig(disk) < 0)
|
||||
@ -2013,8 +2018,10 @@ qemuBuildDriveDevStr(const virDomainDef *def,
|
||||
goto error;
|
||||
}
|
||||
|
||||
virBufferAsprintf(&opt, ",drive=%s%s", QEMU_DRIVE_HOST_PREFIX, disk->info.alias);
|
||||
virBufferAsprintf(&opt, ",id=%s", disk->info.alias);
|
||||
if (!(drivealias = qemuAliasFromDisk(disk)))
|
||||
goto error;
|
||||
virBufferAsprintf(&opt, ",drive=%s,id=%s", drivealias, disk->info.alias);
|
||||
VIR_FREE(drivealias);
|
||||
if (bootindex && virQEMUCapsGet(qemuCaps, QEMU_CAPS_BOOTINDEX))
|
||||
virBufferAsprintf(&opt, ",bootindex=%u", bootindex);
|
||||
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKIO)) {
|
||||
|
@ -10377,8 +10377,7 @@ qemuDomainBlockResize(virDomainPtr dom,
|
||||
disk->src->format == VIR_STORAGE_FILE_QED)
|
||||
size = VIR_ROUND_UP(size, 512);
|
||||
|
||||
if (virAsprintf(&device, "%s%s", QEMU_DRIVE_HOST_PREFIX,
|
||||
disk->info.alias) < 0)
|
||||
if (!(device = qemuAliasFromDisk(disk)))
|
||||
goto endjob;
|
||||
|
||||
qemuDomainObjEnterMonitor(driver, vm);
|
||||
|
@ -2972,8 +2972,7 @@ qemuDomainRemoveDiskDevice(virQEMUDriverPtr driver,
|
||||
|
||||
/* build the actual drive id string as the disk->info.alias doesn't
|
||||
* contain the QEMU_DRIVE_HOST_PREFIX that is passed to qemu */
|
||||
if (virAsprintf(&drivestr, "%s%s",
|
||||
QEMU_DRIVE_HOST_PREFIX, disk->info.alias) < 0)
|
||||
if (!(drivestr = qemuAliasFromDisk(disk)))
|
||||
return -1;
|
||||
|
||||
/* Let's look for some markers for a secret object and create an alias
|
||||
|
@ -1761,8 +1761,7 @@ qemuMigrationStartNBDServer(virQEMUDriverPtr driver,
|
||||
continue;
|
||||
|
||||
VIR_FREE(diskAlias);
|
||||
if (virAsprintf(&diskAlias, "%s%s",
|
||||
QEMU_DRIVE_HOST_PREFIX, disk->info.alias) < 0)
|
||||
if (!(diskAlias = qemuAliasFromDisk(disk)))
|
||||
goto cleanup;
|
||||
|
||||
if (qemuDomainObjEnterMonitorAsync(driver, vm,
|
||||
@ -1978,8 +1977,7 @@ qemuMigrationCancelOneDriveMirror(virQEMUDriverPtr driver,
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (virAsprintf(&diskAlias, "%s%s",
|
||||
QEMU_DRIVE_HOST_PREFIX, disk->info.alias) < 0)
|
||||
if (!(diskAlias = qemuAliasFromDisk(disk)))
|
||||
return -1;
|
||||
|
||||
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
|
||||
@ -2154,8 +2152,7 @@ qemuMigrationDriveMirror(virQEMUDriverPtr driver,
|
||||
if (!qemuMigrateDisk(disk, nmigrate_disks, migrate_disks))
|
||||
continue;
|
||||
|
||||
if ((virAsprintf(&diskAlias, "%s%s",
|
||||
QEMU_DRIVE_HOST_PREFIX, disk->info.alias) < 0) ||
|
||||
if (!(diskAlias = qemuAliasFromDisk(disk)) ||
|
||||
(virAsprintf(&nbd_dest, "nbd:%s:%d:exportname=%s",
|
||||
hoststr, port, diskAlias) < 0))
|
||||
goto cleanup;
|
||||
|
Loading…
x
Reference in New Issue
Block a user