On 5/29/19 11:44 AM, Jie Wang wrote:
if libvirt receive DISCONNECTED event and set prDaemonRunning to false, and qemuDomainRemoveDiskDevice is performing in the meantime. qemuDomainRemoveDiskDevice will return directly by prDaemonRunning check, so the pr-helper0 object will remain. I think it is no need to check prDaemonRunning in qemuHotplugRemoveManagedPR.
Signed-off-by: Jie Wang <wangjie88@huawei.com> --- src/qemu/qemu_hotplug.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 34249bd030..5e4a929738 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -465,8 +465,7 @@ qemuHotplugRemoveManagedPR(virQEMUDriverPtr driver, virErrorPtr orig_err; int ret = -1;
- if (!priv->prDaemonRunning || - virDomainDefHasManagedPR(vm->def)) + if (virDomainDefHasManagedPR(vm->def)) return 0;
virErrorPreserveLast(&orig_err);
Right, because we unlock the domain object while talking on monitor. Well, in that case I guess we should try harder and also kill the pr-helper process. IOW qemuProcessKillManagedPRDaemon() could use the same treatment. Michal