[PATCH] qemuProcessSetupDisksTransientHotplug: Add checking set-action capability

Masayoshi Mizuma msys.mizuma at gmail.com
Wed Aug 25 23:08:46 UTC 2021

From: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>

The VM is terminated abnormally when <transient shareBacking='yes'/>
is set to the disk option and the qemu doesn't have set-action capability.

  # virsh start guest01
  error: Failed to start domain 'guest01'
  error: internal error: qemu unexpectedly closed the monitor


Add checking the capability before system_reset QMP command is sent
so that the VM can stop correctly when the qemu doesn't have the cap.

Signed-off-by: Masayoshi Mizuma <m.mizuma at jp.fujitsu.com>
 src/qemu/qemu_process.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index 3b4af61bf8..4bedd04679 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -7010,6 +7010,9 @@ qemuProcessSetupDisksTransientHotplug(virDomainObj *vm,
     if (hasHotpluggedDisk) {
         int rc;
+        if (!(virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_SET_ACTION)))
+            return -1;
         if (qemuDomainObjEnterMonitorAsync(priv->driver, vm, asyncJob) < 0)
             return -1;

More information about the libvir-list mailing list