From 31b4d75877a4700e5e35b36147894f5b91c29cb7 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Wed, 25 May 2016 09:11:52 +0200 Subject: [PATCH] qemu: Remove virDomainLiveConfigHelperMethod from qemuDomainGetBlkioParameters --- src/qemu/qemu_driver.c | 65 +++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 36 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index db8b9d623d..e8e14187bd 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -9089,10 +9089,10 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, virQEMUDriverPtr driver = dom->conn->privateData; size_t i, j; virDomainObjPtr vm = NULL; + virDomainDefPtr def = NULL; virDomainDefPtr persistentDef = NULL; unsigned int val; int ret = -1; - virCapsPtr caps = NULL; qemuDomainObjPrivatePtr priv; virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | @@ -9118,9 +9118,6 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, goto cleanup; } - if (!(caps = virQEMUDriverGetCapabilities(driver, false))) - goto cleanup; - if ((*nparams) == 0) { /* Current number of blkio parameters supported by cgroups */ *nparams = QEMU_NB_BLKIO_PARAM; @@ -9128,19 +9125,16 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, goto cleanup; } - if (virDomainLiveConfigHelperMethod(caps, driver->xmlopt, vm, &flags, - &persistentDef) < 0) + if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0) goto cleanup; - if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if (def) { if (!virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_BLKIO)) { virReportError(VIR_ERR_OPERATION_INVALID, "%s", _("blkio cgroup isn't mounted")); goto cleanup; } - } - if (flags & VIR_DOMAIN_AFFECT_LIVE) { for (i = 0; i < *nparams && i < QEMU_NB_BLKIO_PARAM; i++) { virTypedParameterPtr param = ¶ms[i]; val = 0; @@ -9155,20 +9149,20 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, break; case 1: /* blkiotune.device_weight */ - if (vm->def->blkio.ndevices > 0) { + if (def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; bool comma = false; - for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (!vm->def->blkio.devices[j].weight) + for (j = 0; j < def->blkio.ndevices; j++) { + if (!def->blkio.devices[j].weight) continue; if (comma) virBufferAddChar(&buf, ','); else comma = true; virBufferAsprintf(&buf, "%s,%u", - vm->def->blkio.devices[j].path, - vm->def->blkio.devices[j].weight); + def->blkio.devices[j].path, + def->blkio.devices[j].weight); } if (virBufferCheckError(&buf) < 0) goto cleanup; @@ -9182,20 +9176,20 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, break; case 2: /* blkiotune.device_read_iops */ - if (vm->def->blkio.ndevices > 0) { + if (def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; bool comma = false; - for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (!vm->def->blkio.devices[j].riops) + for (j = 0; j < def->blkio.ndevices; j++) { + if (!def->blkio.devices[j].riops) continue; if (comma) virBufferAddChar(&buf, ','); else comma = true; virBufferAsprintf(&buf, "%s,%u", - vm->def->blkio.devices[j].path, - vm->def->blkio.devices[j].riops); + def->blkio.devices[j].path, + def->blkio.devices[j].riops); } if (virBufferCheckError(&buf) < 0) goto cleanup; @@ -9209,20 +9203,20 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, break; case 3: /* blkiotune.device_write_iops */ - if (vm->def->blkio.ndevices > 0) { + if (def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; bool comma = false; - for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (!vm->def->blkio.devices[j].wiops) + for (j = 0; j < def->blkio.ndevices; j++) { + if (!def->blkio.devices[j].wiops) continue; if (comma) virBufferAddChar(&buf, ','); else comma = true; virBufferAsprintf(&buf, "%s,%u", - vm->def->blkio.devices[j].path, - vm->def->blkio.devices[j].wiops); + def->blkio.devices[j].path, + def->blkio.devices[j].wiops); } if (virBufferCheckError(&buf) < 0) goto cleanup; @@ -9236,20 +9230,20 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, break; case 4: /* blkiotune.device_read_bps */ - if (vm->def->blkio.ndevices > 0) { + if (def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; bool comma = false; - for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (!vm->def->blkio.devices[j].rbps) + for (j = 0; j < def->blkio.ndevices; j++) { + if (!def->blkio.devices[j].rbps) continue; if (comma) virBufferAddChar(&buf, ','); else comma = true; virBufferAsprintf(&buf, "%s,%llu", - vm->def->blkio.devices[j].path, - vm->def->blkio.devices[j].rbps); + def->blkio.devices[j].path, + def->blkio.devices[j].rbps); } if (virBufferCheckError(&buf) < 0) goto cleanup; @@ -9263,20 +9257,20 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, break; case 5: /* blkiotune.device_write_bps */ - if (vm->def->blkio.ndevices > 0) { + if (def->blkio.ndevices > 0) { virBuffer buf = VIR_BUFFER_INITIALIZER; bool comma = false; - for (j = 0; j < vm->def->blkio.ndevices; j++) { - if (!vm->def->blkio.devices[j].wbps) + for (j = 0; j < def->blkio.ndevices; j++) { + if (!def->blkio.devices[j].wbps) continue; if (comma) virBufferAddChar(&buf, ','); else comma = true; virBufferAsprintf(&buf, "%s,%llu", - vm->def->blkio.devices[j].path, - vm->def->blkio.devices[j].wbps); + def->blkio.devices[j].path, + def->blkio.devices[j].wbps); } if (virBufferCheckError(&buf) < 0) goto cleanup; @@ -9295,7 +9289,7 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, /* should not hit here */ } } - } else if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + } else if (persistentDef) { for (i = 0; i < *nparams && i < QEMU_NB_BLKIO_PARAM; i++) { virTypedParameterPtr param = ¶ms[i]; val = 0; @@ -9486,7 +9480,6 @@ qemuDomainGetBlkioParameters(virDomainPtr dom, cleanup: virDomainObjEndAPI(&vm); - virObjectUnref(caps); return ret; }