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