mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: Acquire domain job in qemuDomainGetFSInfo and qemuDomainGetGuestInfo
These two functions work with vm->def in their critical sections (i.e. after the job was acquired and before it is released). But that means, they need QUERY domain job too to prevent vm->def change. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
e7eae7886c
commit
93841cb030
@ -22143,7 +22143,9 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
if (virDomainGetFSInfoEnsureACL(dom->conn, vm->def) < 0)
|
if (virDomainGetFSInfoEnsureACL(dom->conn, vm->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuDomainObjBeginAgentJob(driver, vm, QEMU_AGENT_JOB_QUERY) < 0)
|
if (qemuDomainObjBeginJobWithAgent(driver, vm,
|
||||||
|
QEMU_JOB_QUERY,
|
||||||
|
QEMU_AGENT_JOB_QUERY) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virDomainObjCheckActive(vm) < 0)
|
if (virDomainObjCheckActive(vm) < 0)
|
||||||
@ -22163,7 +22165,7 @@ qemuDomainGetFSInfo(virDomainPtr dom,
|
|||||||
qemuDomainObjExitAgent(vm, agent);
|
qemuDomainObjExitAgent(vm, agent);
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
qemuDomainObjEndAgentJob(vm);
|
qemuDomainObjEndJobWithAgent(driver, vm);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainObjEndAPI(&vm);
|
virDomainObjEndAPI(&vm);
|
||||||
@ -23241,7 +23243,9 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
|
|||||||
if (virDomainGetGuestInfoEnsureACL(dom->conn, vm->def) < 0)
|
if (virDomainGetGuestInfoEnsureACL(dom->conn, vm->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuDomainObjBeginAgentJob(driver, vm, QEMU_AGENT_JOB_QUERY) < 0)
|
if (qemuDomainObjBeginJobWithAgent(driver, vm,
|
||||||
|
QEMU_JOB_QUERY,
|
||||||
|
QEMU_AGENT_JOB_QUERY) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (!qemuDomainAgentAvailable(vm, true))
|
if (!qemuDomainAgentAvailable(vm, true))
|
||||||
@ -23291,7 +23295,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
|
|||||||
qemuDomainObjExitAgent(vm, agent);
|
qemuDomainObjExitAgent(vm, agent);
|
||||||
|
|
||||||
endjob:
|
endjob:
|
||||||
qemuDomainObjEndAgentJob(vm);
|
qemuDomainObjEndJobWithAgent(driver, vm);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainObjEndAPI(&vm);
|
virDomainObjEndAPI(&vm);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user