[PATCH 16/22] qemuDomainSetLifecycleAction: Forbid live update of 'on_reboot'

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

 



Without the ability to tell qemu to change the behaviour on reboot of
the guest it's fundamentally unsafe to change the action as the guest
would be able to execute instructions after the reboot before libvirt
terminates it due to the async nature of QMP events.

Stricten the code for now until we implement support for 'set-action'
QMP command.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 src/qemu/qemu_driver.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 0472f54a37..3c57d67d1c 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -19671,10 +19671,11 @@ qemuDomainSetLifecycleAction(virDomainPtr dom,
         goto endjob;

     if (def) {
-        if (priv->allowReboot == VIR_TRISTATE_BOOL_NO) {
+        if (priv->allowReboot == VIR_TRISTATE_BOOL_NO ||
+            (type == VIR_DOMAIN_LIFECYCLE_REBOOT &&
+             def->onReboot != action)) {
             virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
-                           _("cannot update lifecycle action because QEMU "
-                             "was started with -no-reboot option"));
+                           _("cannot update lifecycle action because QEMU was started with incompatible -no-reboot setting"));
             goto endjob;
         }

-- 
2.31.1




[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