提交 f0f16c1e 编写于 作者: J John Ferlan

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.
上级 13effcaf
......@@ -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;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册