mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-04 21:47:16 +03:00
qemu: Use proper agent entering function when freezing filesystems
When doing snapshots, the filesystem freeze function used the agent entering function that expects the qemud_driver unlocked. This might cause a deadlock of the qemu driver if the agent does not respond. The only call path of this function has the qemud_driver locked, so this patch changes the entering functions to those expecting the driver locked.
This commit is contained in:
parent
0dddd680c2
commit
e0316b5ebd
@ -10375,6 +10375,7 @@ qemuDomainSnapshotIsAllowed(virDomainObjPtr vm)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* this function expects the driver lock to be held by the caller */
|
||||
static int
|
||||
qemuDomainSnapshotFSFreeze(struct qemud_driver *driver,
|
||||
virDomainObjPtr vm) {
|
||||
@ -10393,9 +10394,9 @@ qemuDomainSnapshotFSFreeze(struct qemud_driver *driver,
|
||||
return -1;
|
||||
}
|
||||
|
||||
qemuDomainObjEnterAgent(driver, vm);
|
||||
qemuDomainObjEnterAgentWithDriver(driver, vm);
|
||||
freezed = qemuAgentFSFreeze(priv->agent);
|
||||
qemuDomainObjExitAgent(driver, vm);
|
||||
qemuDomainObjExitAgentWithDriver(driver, vm);
|
||||
|
||||
return freezed;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user