mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-31 05:57:16 +00:00
qemu: Don't duplicate domain def in qemuDomainGetFSInfo
Introduced in v3.0.0-rc1~336, the commit message doesn't really justifies the expensive domain def copy creation. Now, that vm->def is guarded in this function by job acquirement we can use vm->def directly. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
93841cb030
commit
3853372659
@ -22126,11 +22126,8 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
virQEMUDriverPtr driver = dom->conn->privateData;
|
virQEMUDriverPtr driver = dom->conn->privateData;
|
||||||
qemuDomainObjPrivatePtr priv;
|
|
||||||
virDomainObjPtr vm;
|
virDomainObjPtr vm;
|
||||||
qemuAgentPtr agent;
|
qemuAgentPtr agent;
|
||||||
virCapsPtr caps = NULL;
|
|
||||||
virDomainDefPtr def = NULL;
|
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
virCheckFlags(0, ret);
|
virCheckFlags(0, ret);
|
||||||
@ -22138,8 +22135,6 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
if (!(vm = qemuDomObjFromDomain(dom)))
|
if (!(vm = qemuDomObjFromDomain(dom)))
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
priv = vm->privateData;
|
|
||||||
|
|
||||||
if (virDomainGetFSInfoEnsureACL(dom->conn, vm->def) < 0)
|
if (virDomainGetFSInfoEnsureACL(dom->conn, vm->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -22154,14 +22149,8 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
if (!qemuDomainAgentAvailable(vm, true))
|
if (!qemuDomainAgentAvailable(vm, true))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
|
|
||||||
goto endjob;
|
|
||||||
|
|
||||||
if (!(def = virDomainDefCopy(vm->def, caps, driver->xmlopt, priv->qemuCaps, false)))
|
|
||||||
goto endjob;
|
|
||||||
|
|
||||||
agent = qemuDomainObjEnterAgent(vm);
|
agent = qemuDomainObjEnterAgent(vm);
|
||||||
ret = qemuAgentGetFSInfo(agent, info, def);
|
ret = qemuAgentGetFSInfo(agent, info, vm->def);
|
||||||
qemuDomainObjExitAgent(vm, agent);
|
qemuDomainObjExitAgent(vm, agent);
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
@ -22169,8 +22158,6 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainObjEndAPI(&vm);
|
virDomainObjEndAPI(&vm);
|
||||||
virDomainDefFree(def);
|
|
||||||
virObjectUnref(caps);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user