From: Peter Krempa <pkre...@redhat.com>

Extract the checker that determines whether the daemon auto shutdown
functionality is active to a separate helper
'virDomainDriverAutoShutdownActive'.

Signed-off-by: Peter Krempa <pkre...@redhat.com>
---
 src/hypervisor/domain_driver.c | 13 ++++++++++---
 src/hypervisor/domain_driver.h |  1 +
 src/libvirt_private.syms       |  1 +
 3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/hypervisor/domain_driver.c b/src/hypervisor/domain_driver.c
index 62bbe176ae..353b8875ec 100644
--- a/src/hypervisor/domain_driver.c
+++ b/src/hypervisor/domain_driver.c
@@ -729,6 +729,15 @@ virDomainDriverAutoStart(virDomainObjList *domains,
 }


+bool
+virDomainDriverAutoShutdownActive(virDomainDriverAutoShutdownConfig *cfg)
+{
+    return cfg->trySave != VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE ||
+        cfg->tryShutdown != VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE ||
+        cfg->poweroff != VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE;
+}
+
+
 void
 virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg)
 {
@@ -773,9 +782,7 @@ 
virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg)
     }

     /* Short-circuit if all actions are disabled */
-    if (cfg->trySave == VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE &&
-        cfg->tryShutdown == VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE &&
-        cfg->poweroff == VIR_DOMAIN_DRIVER_AUTO_SHUTDOWN_SCOPE_NONE)
+    if (!virDomainDriverAutoShutdownActive(cfg))
         return;

     if (!(conn = virConnectOpen(cfg->uri)))
diff --git a/src/hypervisor/domain_driver.h b/src/hypervisor/domain_driver.h
index d90466b942..af1c4eaed6 100644
--- a/src/hypervisor/domain_driver.h
+++ b/src/hypervisor/domain_driver.h
@@ -116,4 +116,5 @@ typedef struct _virDomainDriverAutoShutdownConfig {
     bool autoRestore;
 } virDomainDriverAutoShutdownConfig;

+bool virDomainDriverAutoShutdownActive(virDomainDriverAutoShutdownConfig *cfg);
 void virDomainDriverAutoShutdown(virDomainDriverAutoShutdownConfig *cfg);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index 8f1489ecc8..1b9be478e4 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -1658,6 +1658,7 @@ virDomainCgroupSetupVcpuBW;
 # hypervisor/domain_driver.h
 virDomainDriverAddIOThreadCheck;
 virDomainDriverAutoShutdown;
+virDomainDriverAutoShutdownActive;
 virDomainDriverAutoShutdownScopeTypeFromString;
 virDomainDriverAutoShutdownScopeTypeToString;
 virDomainDriverAutoStart;
-- 
2.49.0

Reply via email to