c480ed
From 799c9dd37390878a54be303b3e3e27445049bf2b Mon Sep 17 00:00:00 2001
c480ed
Message-Id: <799c9dd37390878a54be303b3e3e27445049bf2b@dist-git>
c480ed
From: Michal Privoznik <mprivozn@redhat.com>
c480ed
Date: Thu, 27 Jun 2019 15:18:16 +0200
c480ed
Subject: [PATCH] Revert "virStateDriver - Separate AutoStart from Initialize"
c480ed
MIME-Version: 1.0
c480ed
Content-Type: text/plain; charset=UTF-8
c480ed
Content-Transfer-Encoding: 8bit
c480ed
c480ed
This reverts commit cefb97fb815c81fc882da752f45effd23bcb9b4b.
c480ed
c480ed
The stateAutoStart callback will be removed in the next commit.
c480ed
Therefore move autostarting of domains, networks and storage
c480ed
pools back into stateInitialize callbacks.
c480ed
c480ed
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
c480ed
Reviewed-by: Ján Tomko <jtomko@redhat.com>
c480ed
(cherry picked from commit fc380c2e018ae15347d4c281a7e74896c48cac4a)
c480ed
c480ed
https://bugzilla.redhat.com/show_bug.cgi?id=1685151
c480ed
c480ed
The difference to the upstream commit is uml driver change. In
c480ed
upstream, the uml driver was dropped, but it's still kept around
c480ed
in downstream.
c480ed
c480ed
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
c480ed
Message-Id: <a8e69f65b397c81c2a68597cca6c8ac04df24153.1561641375.git.mprivozn@redhat.com>
c480ed
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
c480ed
---
c480ed
 src/libxl/libxl_driver.c     | 14 +++-----------
c480ed
 src/lxc/lxc_driver.c         | 16 ++--------------
c480ed
 src/network/bridge_driver.c  | 22 ++++------------------
c480ed
 src/qemu/qemu_driver.c       | 17 ++---------------
c480ed
 src/storage/storage_driver.c | 19 ++-----------------
c480ed
 src/uml/uml_driver.c         | 17 ++---------------
c480ed
 6 files changed, 15 insertions(+), 90 deletions(-)
c480ed
c480ed
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
c480ed
index 5a5e792957..99bb010af4 100644
c480ed
--- a/src/libxl/libxl_driver.c
c480ed
+++ b/src/libxl/libxl_driver.c
c480ed
@@ -773,6 +773,9 @@ libxlStateInitialize(bool privileged,
c480ed
                                        NULL, NULL) < 0)
c480ed
         goto error;
c480ed
 
c480ed
+    virDomainObjListForEach(libxl_driver->domains, libxlAutostartDomain,
c480ed
+                            libxl_driver);
c480ed
+
c480ed
     virDomainObjListForEach(libxl_driver->domains, libxlDomainManagedSaveLoad,
c480ed
                             libxl_driver);
c480ed
 
c480ed
@@ -784,16 +787,6 @@ libxlStateInitialize(bool privileged,
c480ed
     return -1;
c480ed
 }
c480ed
 
c480ed
-static void
c480ed
-libxlStateAutoStart(void)
c480ed
-{
c480ed
-    if (!libxl_driver)
c480ed
-        return;
c480ed
-
c480ed
-    virDomainObjListForEach(libxl_driver->domains, libxlAutostartDomain,
c480ed
-                            libxl_driver);
c480ed
-}
c480ed
-
c480ed
 static int
c480ed
 libxlStateReload(void)
c480ed
 {
c480ed
@@ -6479,7 +6472,6 @@ static virConnectDriver libxlConnectDriver = {
c480ed
 static virStateDriver libxlStateDriver = {
c480ed
     .name = "LIBXL",
c480ed
     .stateInitialize = libxlStateInitialize,
c480ed
-    .stateAutoStart = libxlStateAutoStart,
c480ed
     .stateCleanup = libxlStateCleanup,
c480ed
     .stateReload = libxlStateReload,
c480ed
 };
c480ed
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
c480ed
index f9794e0655..527fa72083 100644
c480ed
--- a/src/lxc/lxc_driver.c
c480ed
+++ b/src/lxc/lxc_driver.c
c480ed
@@ -1646,6 +1646,8 @@ static int lxcStateInitialize(bool privileged,
c480ed
                                        NULL, NULL) < 0)
c480ed
         goto cleanup;
c480ed
 
c480ed
+    virLXCProcessAutostartAll(lxc_driver);
c480ed
+
c480ed
     virObjectUnref(caps);
c480ed
     return 0;
c480ed
 
c480ed
@@ -1655,19 +1657,6 @@ static int lxcStateInitialize(bool privileged,
c480ed
     return -1;
c480ed
 }
c480ed
 
c480ed
-/**
c480ed
- * lxcStateAutoStart:
c480ed
- *
c480ed
- * Function to autostart the LXC daemons
c480ed
- */
c480ed
-static void lxcStateAutoStart(void)
c480ed
-{
c480ed
-    if (!lxc_driver)
c480ed
-        return;
c480ed
-
c480ed
-    virLXCProcessAutostartAll(lxc_driver);
c480ed
-}
c480ed
-
c480ed
 static void lxcNotifyLoadDomain(virDomainObjPtr vm, int newVM, void *opaque)
c480ed
 {
c480ed
     virLXCDriverPtr driver = opaque;
c480ed
@@ -5550,7 +5539,6 @@ static virConnectDriver lxcConnectDriver = {
c480ed
 static virStateDriver lxcStateDriver = {
c480ed
     .name = LXC_DRIVER_NAME,
c480ed
     .stateInitialize = lxcStateInitialize,
c480ed
-    .stateAutoStart = lxcStateAutoStart,
c480ed
     .stateCleanup = lxcStateCleanup,
c480ed
     .stateReload = lxcStateReload,
c480ed
 };
c480ed
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
c480ed
index d153a8cdb6..a60d7db685 100644
c480ed
--- a/src/network/bridge_driver.c
c480ed
+++ b/src/network/bridge_driver.c
c480ed
@@ -755,6 +755,10 @@ networkStateInitialize(bool privileged,
c480ed
     networkReloadFirewallRules(network_driver);
c480ed
     networkRefreshDaemons(network_driver);
c480ed
 
c480ed
+    virNetworkObjListForEach(network_driver->networks,
c480ed
+                             networkAutostartConfig,
c480ed
+                             network_driver);
c480ed
+
c480ed
     network_driver->networkEventState = virObjectEventStateNew();
c480ed
 
c480ed
 #ifdef WITH_FIREWALLD
c480ed
@@ -794,23 +798,6 @@ networkStateInitialize(bool privileged,
c480ed
 }
c480ed
 
c480ed
 
c480ed
-/**
c480ed
- * networkStateAutoStart:
c480ed
- *
c480ed
- * Function to AutoStart the bridge configs
c480ed
- */
c480ed
-static void
c480ed
-networkStateAutoStart(void)
c480ed
-{
c480ed
-    if (!network_driver)
c480ed
-        return;
c480ed
-
c480ed
-    virNetworkObjListForEach(network_driver->networks,
c480ed
-                             networkAutostartConfig,
c480ed
-                             network_driver);
c480ed
-}
c480ed
-
c480ed
-
c480ed
 /**
c480ed
  * networkStateReload:
c480ed
  *
c480ed
@@ -5616,7 +5603,6 @@ static virConnectDriver networkConnectDriver = {
c480ed
 static virStateDriver networkStateDriver = {
c480ed
     .name = "bridge",
c480ed
     .stateInitialize  = networkStateInitialize,
c480ed
-    .stateAutoStart  = networkStateAutoStart,
c480ed
     .stateCleanup = networkStateCleanup,
c480ed
     .stateReload = networkStateReload,
c480ed
 };
c480ed
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
c480ed
index 2da87992fd..056d324a62 100644
c480ed
--- a/src/qemu/qemu_driver.c
c480ed
+++ b/src/qemu/qemu_driver.c
c480ed
@@ -911,6 +911,8 @@ qemuStateInitialize(bool privileged,
c480ed
 
c480ed
     qemuProcessReconnectAll(qemu_driver);
c480ed
 
c480ed
+    qemuAutostartDomains(qemu_driver);
c480ed
+
c480ed
     return 0;
c480ed
 
c480ed
  error:
c480ed
@@ -921,20 +923,6 @@ qemuStateInitialize(bool privileged,
c480ed
     return -1;
c480ed
 }
c480ed
 
c480ed
-/**
c480ed
- * qemuStateAutoStart:
c480ed
- *
c480ed
- * Function to auto start the QEMU daemons
c480ed
- */
c480ed
-static void
c480ed
-qemuStateAutoStart(void)
c480ed
-{
c480ed
-    if (!qemu_driver)
c480ed
-        return;
c480ed
-
c480ed
-    qemuAutostartDomains(qemu_driver);
c480ed
-}
c480ed
-
c480ed
 static void qemuNotifyLoadDomain(virDomainObjPtr vm, int newVM, void *opaque)
c480ed
 {
c480ed
     virQEMUDriverPtr driver = opaque;
c480ed
@@ -21846,7 +21834,6 @@ static virConnectDriver qemuConnectDriver = {
c480ed
 static virStateDriver qemuStateDriver = {
c480ed
     .name = QEMU_DRIVER_NAME,
c480ed
     .stateInitialize = qemuStateInitialize,
c480ed
-    .stateAutoStart = qemuStateAutoStart,
c480ed
     .stateCleanup = qemuStateCleanup,
c480ed
     .stateReload = qemuStateReload,
c480ed
     .stateStop = qemuStateStop,
c480ed
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
c480ed
index 254818e308..f61fb074e6 100644
c480ed
--- a/src/storage/storage_driver.c
c480ed
+++ b/src/storage/storage_driver.c
c480ed
@@ -291,6 +291,8 @@ storageStateInitialize(bool privileged,
c480ed
 
c480ed
     storagePoolUpdateAllState();
c480ed
 
c480ed
+    storageDriverAutostart();
c480ed
+
c480ed
     driver->storageEventState = virObjectEventStateNew();
c480ed
 
c480ed
     storageDriverUnlock();
c480ed
@@ -307,22 +309,6 @@ storageStateInitialize(bool privileged,
c480ed
     goto cleanup;
c480ed
 }
c480ed
 
c480ed
-/**
c480ed
- * storageStateAutoStart:
c480ed
- *
c480ed
- * Function to auto start the storage driver
c480ed
- */
c480ed
-static void
c480ed
-storageStateAutoStart(void)
c480ed
-{
c480ed
-    if (!driver)
c480ed
-        return;
c480ed
-
c480ed
-    storageDriverLock();
c480ed
-    storageDriverAutostart();
c480ed
-    storageDriverUnlock();
c480ed
-}
c480ed
-
c480ed
 /**
c480ed
  * storageStateReload:
c480ed
  *
c480ed
@@ -2843,7 +2829,6 @@ static virConnectDriver storageConnectDriver = {
c480ed
 static virStateDriver stateDriver = {
c480ed
     .name = "storage",
c480ed
     .stateInitialize = storageStateInitialize,
c480ed
-    .stateAutoStart = storageStateAutoStart,
c480ed
     .stateCleanup = storageStateCleanup,
c480ed
     .stateReload = storageStateReload,
c480ed
 };
c480ed
diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
c480ed
index c77988f01e..296adf55d1 100644
c480ed
--- a/src/uml/uml_driver.c
c480ed
+++ b/src/uml/uml_driver.c
c480ed
@@ -575,6 +575,8 @@ umlStateInitialize(bool privileged,
c480ed
 
c480ed
     umlDriverUnlock(uml_driver);
c480ed
 
c480ed
+    umlAutostartConfigs(uml_driver);
c480ed
+
c480ed
     VIR_FREE(userdir);
c480ed
 
c480ed
     return 0;
c480ed
@@ -590,20 +592,6 @@ umlStateInitialize(bool privileged,
c480ed
     return -1;
c480ed
 }
c480ed
 
c480ed
-/**
c480ed
- * umlStateAutoStart:
c480ed
- *
c480ed
- * Function to autostart the Uml daemons
c480ed
- */
c480ed
-static void
c480ed
-umlStateAutoStart(void)
c480ed
-{
c480ed
-    if (!uml_driver)
c480ed
-        return;
c480ed
-
c480ed
-    umlAutostartConfigs(uml_driver);
c480ed
-}
c480ed
-
c480ed
 static void umlNotifyLoadDomain(virDomainObjPtr vm, int newVM, void *opaque)
c480ed
 {
c480ed
     struct uml_driver *driver = opaque;
c480ed
@@ -2826,7 +2814,6 @@ static virConnectDriver umlConnectDriver = {
c480ed
 static virStateDriver umlStateDriver = {
c480ed
     .name = "UML",
c480ed
     .stateInitialize = umlStateInitialize,
c480ed
-    .stateAutoStart = umlStateAutoStart,
c480ed
     .stateCleanup = umlStateCleanup,
c480ed
     .stateReload = umlStateReload,
c480ed
 };
c480ed
-- 
c480ed
2.22.0
c480ed