Re: [PATCH] qemuProcessSetupDisksTransientHotplug: Add checking set-action capability

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On a Wednesday in 2021, Masayoshi Mizuma wrote:
From: Masayoshi Mizuma <m.mizuma@xxxxxxxxxxxxxx>

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.


From the commit message it's hard to see the connection between missing
QEMU_CAPS_SET_ACTION and not calling the system_reset command, since
the command was present long before set-action.

Is this the same issue?
https://listman.redhat.com/archives/libvir-list/2021-July/msg00119.html

If I understand correctly, even after Peter's lifecycle event series
we cannot support the combination of:
* -no-reboot on the command line (which is still done for QEMUs without
   SET_ACTION, i.e. older than 6.0)
* transient shareBacking disks

In that case, this can be rejected much sooner in qemuValidate, before
even trying to start the QEMU process.

Signed-off-by: Masayoshi Mizuma <m.mizuma@xxxxxxxxxxxxxx>
---
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)))

The error message is missing.

Jano

+            return -1;
+
        if (qemuDomainObjEnterMonitorAsync(priv->driver, vm, asyncJob) < 0)
            return -1;

--
2.27.0

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux