[libvirt] [PATCH v4 4/4] qemu: Fix deadlock if create qemuProcessReconnect thread failed

Wang Yechao wang.yechao255 at zte.com.cn
Fri Sep 21 04:35:11 UTC 2018


qemuProcessReconnectHelper has hold lock on doms, if create
qemuProcessReconnect thread failed, calls
qemuDomainRemoveInactiveJob will lead to deadlock.

Modify qemuProcessReconnectHelper to call
qemuDomainRemoveInactiveJobLocked.

Signed-off-by: Wang Yechao <wang.yechao255 at zte.com.cn>
---
 src/qemu/qemu_process.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index f9a01da..711db10 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -8033,7 +8033,7 @@ qemuProcessReconnectHelper(virDomainObjPtr obj,
          */
         qemuProcessStop(src->driver, obj, VIR_DOMAIN_SHUTOFF_FAILED,
                         QEMU_ASYNC_JOB_NONE, 0);
-        qemuDomainRemoveInactiveJob(src->driver, obj);
+        qemuDomainRemoveInactiveJobLocked(src->driver, obj);
 
         virDomainObjEndAPI(&obj);
         virNWFilterUnlockFilterUpdates();
-- 
1.8.3.1




More information about the libvir-list mailing list