On 11/20/2015 05:04 AM, Ján Tomko wrote:
The domain definition is not needed in any of these functions.
Only pass it to qemuSetupChardevCgroup, which is used as a callback
for virDomainChrDefForeach.
Use the right type for passing virDomainObjPtr instead of
void* where possible.
---
src/qemu/qemu_cgroup.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 7b7411d..f3cf41c 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -149,11 +149,9 @@ qemuTeardownDiskCgroup(virDomainObjPtr vm,
static int
-qemuSetupChrSourceCgroup(virDomainDefPtr def ATTRIBUTE_UNUSED,
- virDomainChrSourceDefPtr dev,
- void *opaque)
+qemuSetupChrSourceCgroup(virDomainObjPtr vm,
+ virDomainChrSourceDefPtr dev)
{
- virDomainObjPtr vm = opaque;
qemuDomainObjPrivatePtr priv = vm->privateData;
int ret;
@@ -171,25 +169,25 @@ qemuSetupChrSourceCgroup(virDomainDefPtr def ATTRIBUTE_UNUSED,
}
static int
-qemuSetupChardevCgroup(virDomainDefPtr def,
+qemuSetupChardevCgroup(virDomainDefPtr def ATTRIBUTE_UNUSED,
virDomainChrDefPtr dev,
void *opaque)
{
- return qemuSetupChrSourceCgroup(def, &dev->source, opaque);
+ virDomainObjPtr vm = opaque;
+
+ return qemuSetupChrSourceCgroup(vm, &dev->source);
}
static int
-qemuSetupTPMCgroup(virDomainDefPtr def,
- virDomainTPMDefPtr dev,
- void *opaque)
+qemuSetupTPMCgroup(virDomainObjPtr vm,
+ virDomainTPMDefPtr dev)
{
int ret = 0;
switch (dev->type) {
case VIR_DOMAIN_TPM_TYPE_PASSTHROUGH:
- ret = qemuSetupChrSourceCgroup(def, &dev->data.passthrough.source,
- opaque);
+ ret = qemuSetupChrSourceCgroup(vm, &dev->data.passthrough.source);
break;
case VIR_DOMAIN_TPM_TYPE_LAST:
break;
@@ -585,10 +583,7 @@ qemuSetupDevicesCgroup(virQEMUDriverPtr driver,
vm) < 0)
goto cleanup;
- if (vm->def->tpm &&
- (qemuSetupTPMCgroup(vm->def,
- vm->def->tpm,
- vm) < 0))
+ if (vm->def->tpm && qemuSetupTPMCgroup(vm, vm->def->tpm) < 0)
Why not just pass "vm"... qemuSetupTPMCgroup could easily deref
"->def->tpm)"
ACK - your call if you want to keep/remove the 2nd parameter.
John
goto cleanup;
for (i = 0; i < vm->def->nhostdevs; i++) {