virQEMUDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm = NULL;
qemuDomainObjPrivatePtr priv;
+ virDomainDefPtr def = NULL;
virDomainDefPtr persistentDef = NULL;
virDomainBlockIoTuneInfo info;
virDomainBlockIoTuneInfo *oldinfo;
bool set_size_iops = false;
bool supportMaxOptions = true;
virQEMUDriverConfigPtr cfg = NULL;
- virCapsPtr caps = NULL;
virObjectEventPtr event = NULL;
virTypedParameterPtr eventParams = NULL;
int eventNparams = 0;
priv = vm->privateData;
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto endjob;
-
- if (virDomainLiveConfigHelperMethod(caps, driver->xmlopt, vm, &flags,
- &persistentDef) < 0)
+ if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0)
goto endjob;
if (virTypedParamsAddString(&eventParams, &eventNparams, &eventMaxparams,
goto endjob;
}
- if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ if (persistentDef) {
if (!(conf_disk = virDomainDiskByName(persistentDef, path, true))) {
virReportError(VIR_ERR_INVALID_ARG,
_("missing persistent configuration for disk '%s'"),
}
}
- if (flags & VIR_DOMAIN_AFFECT_LIVE) {
+ if (def) {
supportMaxOptions = virQEMUCapsGet(priv->qemuCaps,
QEMU_CAPS_DRIVE_IOTUNE_MAX);
if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DRIVE_IOTUNE)) {
goto endjob;
}
- if (!(disk = qemuDomainDiskByName(vm->def, path)))
+ if (!(disk = qemuDomainDiskByName(def, path)))
goto endjob;
if (!(device = qemuAliasFromDisk(disk)))
}
}
- if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
+ if (persistentDef) {
oldinfo = &conf_disk->blkdeviotune;
if (!set_bytes) {
info.total_bytes_sec = oldinfo->total_bytes_sec;
virDomainObjEndAPI(&vm);
if (eventNparams)
virTypedParamsFree(eventParams, eventNparams);
- virObjectUnref(caps);
virObjectUnref(cfg);
return ret;
}