virDomainDef *persistentDef = NULL;
virDomainBlockIoTuneInfo info;
virDomainBlockIoTuneInfo conf_info;
- g_autofree char *drivealias = NULL;
- const char *qdevid = NULL;
int ret = -1;
size_t i;
virDomainDiskDef *conf_disk = NULL;
if (!qemuDomainDiskBlockIoTuneIsSupported(disk))
goto endjob;
- if (QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) {
- qdevid = QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName;
- } else {
- if (!(drivealias = qemuAliasDiskDriveFromDisk(disk)))
- goto endjob;
- }
-
cur_info = qemuDomainFindGroupBlockIoTune(def, disk, &info);
if (qemuDomainSetBlockIoTuneDefaults(&info, cur_info,
int rc = 0;
qemuDomainObjEnterMonitor(vm);
- rc = qemuMonitorSetBlockIoThrottle(priv->mon, drivealias, qdevid, &info);
+ rc = qemuMonitorSetBlockIoThrottle(priv->mon,
+ QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName,
+ &info);
qemuDomainObjExitMonitor(vm);
if (rc < 0)
if (rc == 0 &&
!virStorageSourceIsEmpty(newsrc) &&
qemuDiskConfigBlkdeviotuneEnabled(disk)) {
- rc = qemuMonitorSetBlockIoThrottle(priv->mon, NULL,
+ rc = qemuMonitorSetBlockIoThrottle(priv->mon,
diskPriv->qomName,
&disk->blkdeviotune);
}
g_autoptr(GHashTable) blockinfo = NULL;
if (qemuDiskConfigBlkdeviotuneEnabled(disk)) {
- if (qemuMonitorSetBlockIoThrottle(priv->mon, NULL, diskPriv->qomName,
+ if (qemuMonitorSetBlockIoThrottle(priv->mon, diskPriv->qomName,
&disk->blkdeviotune) < 0)
VIR_WARN("failed to set blkdeviotune for '%s' of '%s'", disk->dst, vm->def->name);
}
int
qemuMonitorSetBlockIoThrottle(qemuMonitor *mon,
- const char *drivealias,
const char *qomid,
virDomainBlockIoTuneInfo *info)
{
- VIR_DEBUG("drivealias=%s, qomid=%s, info=%p",
- NULLSTR(drivealias), NULLSTR(qomid), info);
+ VIR_DEBUG("qomid=%s, info=%p", NULLSTR(qomid), info);
QEMU_CHECK_MONITOR(mon);
- return qemuMonitorJSONSetBlockIoThrottle(mon, drivealias, qomid, info);
+ return qemuMonitorJSONSetBlockIoThrottle(mon, qomid, info);
}
bool skipauth);
int qemuMonitorSetBlockIoThrottle(qemuMonitor *mon,
- const char *drivealias,
const char *qomid,
virDomainBlockIoTuneInfo *info);
#undef GET_THROTTLE_STATS_OPTIONAL
int qemuMonitorJSONSetBlockIoThrottle(qemuMonitor *mon,
- const char *drivealias,
const char *qomid,
virDomainBlockIoTuneInfo *info)
{
g_autoptr(virJSONValue) result = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("block_set_io_throttle",
- "S:device", drivealias,
- "S:id", qomid,
+ "s:id", qomid,
"U:bps", info->total_bytes_sec,
"U:bps_rd", info->read_bytes_sec,
"U:bps_wr", info->write_bytes_sec,
int
qemuMonitorJSONSetBlockIoThrottle(qemuMonitor *mon,
- const char *drivealias,
const char *qomid,
virDomainBlockIoTuneInfo *info);
for (i = 0; i < vm->def->ndisks; i++) {
virDomainDiskDef *disk = vm->def->disks[i];
- qemuDomainDiskPrivate *diskPriv = QEMU_DOMAIN_DISK_PRIVATE(disk);
- g_autofree char *drivealias = NULL;
-
- if (!QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName) {
- if (!(drivealias = qemuAliasDiskDriveFromDisk(disk)))
- goto cleanup;
- }
/* Setting throttling for empty drives fails */
if (virStorageSourceIsEmpty(disk->src))
if (!qemuDiskConfigBlkdeviotuneEnabled(disk))
continue;
- if (qemuMonitorSetBlockIoThrottle(qemuDomainGetMonitor(vm), drivealias,
- diskPriv->qomName, &disk->blkdeviotune) < 0)
+ if (qemuMonitorSetBlockIoThrottle(qemuDomainGetMonitor(vm),
+ QEMU_DOMAIN_DISK_PRIVATE(disk)->qomName,
+ &disk->blkdeviotune) < 0)
goto cleanup;
}
goto cleanup;
if (qemuMonitorJSONSetBlockIoThrottle(qemuMonitorTestGetMonitor(test),
- NULL, "drive-virtio-disk1", &info) < 0)
+ "drive-virtio-disk1", &info) < 0)
goto cleanup;
ret = 0;