[libvirt] [PATCH v2 3/9] locking: Remove redundant 'srv' element from virLockDaemon

Erik Skultety eskultet at redhat.com
Fri Aug 21 18:04:04 UTC 2015


Now that we have virNetDaemon object holding all the data and being
capable of referencing multiple servers, having a duplicate reference to
a single server stored in virLockDaemon isn't necessary anymore. This
patch removes the above described element.
---
 src/locking/lock_daemon.c | 40 +++++++++++++++++++++-------------------
 1 file changed, 21 insertions(+), 19 deletions(-)

diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
index c035024..ae3a507 100644
--- a/src/locking/lock_daemon.c
+++ b/src/locking/lock_daemon.c
@@ -62,7 +62,6 @@ VIR_LOG_INIT("locking.lock_daemon");
 struct _virLockDaemon {
     virMutex lock;
     virNetDaemonPtr dmn;
-    virNetServerPtr srv;
     virHashTablePtr lockspaces;
     virLockSpacePtr defaultLockspace;
 };
@@ -119,7 +118,6 @@ virLockDaemonFree(virLockDaemonPtr lockd)
     if (!lockd)
         return;
 
-    virObjectUnref(lockd->srv);
     virObjectUnref(lockd->dmn);
     virHashFree(lockd->lockspaces);
     virLockSpaceFree(lockd->defaultLockspace);
@@ -138,6 +136,7 @@ static virLockDaemonPtr
 virLockDaemonNew(virLockDaemonConfigPtr config, bool privileged)
 {
     virLockDaemonPtr lockd;
+    virNetServerPtr srv;
 
     if (VIR_ALLOC(lockd) < 0)
         return NULL;
@@ -149,17 +148,17 @@ virLockDaemonNew(virLockDaemonConfigPtr config, bool privileged)
         return NULL;
     }
 
-    if (!(lockd->srv = virNetServerNew(1, 1, 0, config->max_clients,
-                                       config->max_clients, -1, 0,
-                                       NULL,
-                                       virLockDaemonClientNew,
-                                       virLockDaemonClientPreExecRestart,
-                                       virLockDaemonClientFree,
-                                       (void*)(intptr_t)(privileged ? 0x1 : 0x0))))
+    if (!(srv = virNetServerNew(1, 1, 0, config->max_clients,
+                                config->max_clients, -1, 0,
+                                NULL,
+                                virLockDaemonClientNew,
+                                virLockDaemonClientPreExecRestart,
+                                virLockDaemonClientFree,
+                                (void*)(intptr_t)(privileged ? 0x1 : 0x0))))
         goto error;
 
     if (!(lockd->dmn = virNetDaemonNew()) ||
-        virNetDaemonAddServer(lockd->dmn, lockd->srv) < 0)
+        virNetDaemonAddServer(lockd->dmn, srv) < 0)
         goto error;
 
     if (!(lockd->lockspaces = virHashCreate(VIR_LOCK_DAEMON_NUM_LOCKSPACES,
@@ -183,6 +182,7 @@ virLockDaemonNewPostExecRestart(virJSONValuePtr object, bool privileged)
     virLockDaemonPtr lockd;
     virJSONValuePtr child;
     virJSONValuePtr lockspaces;
+    virNetServerPtr srv;
     size_t i;
     int n;
 
@@ -254,12 +254,12 @@ virLockDaemonNewPostExecRestart(virJSONValuePtr object, bool privileged)
     if (!(lockd->dmn = virNetDaemonNewPostExecRestart(child)))
         goto error;
 
-    if (!(lockd->srv = virNetDaemonAddServerPostExec(lockd->dmn,
-                                                     virLockDaemonClientNew,
-                                                     virLockDaemonClientNewPostExecRestart,
-                                                     virLockDaemonClientPreExecRestart,
-                                                     virLockDaemonClientFree,
-                                                     (void*)(intptr_t)(privileged ? 0x1 : 0x0))))
+    if (!(srv = virNetDaemonAddServerPostExec(lockd->dmn,
+                                              virLockDaemonClientNew,
+                                              virLockDaemonClientNewPostExecRestart,
+                                              virLockDaemonClientPreExecRestart,
+                                              virLockDaemonClientFree,
+                                              (void*)(intptr_t)(privileged ? 0x1 : 0x0))))
         goto error;
 
     return lockd;
@@ -1130,6 +1130,7 @@ virLockDaemonUsage(const char *argv0, bool privileged)
 }
 
 int main(int argc, char **argv) {
+    virNetServerPtr srv = NULL;
     virNetServerProgramPtr lockProgram = NULL;
     char *remote_config_file = NULL;
     int statuswrite = -1;
@@ -1353,14 +1354,15 @@ int main(int argc, char **argv) {
             goto cleanup;
         }
 
-        if ((rv = virLockDaemonSetupNetworkingSystemD(lockDaemon->srv)) < 0) {
+        srv = virNetDaemonGetServer(lockDaemon->dmn, 0);
+        if ((rv = virLockDaemonSetupNetworkingSystemD(srv) < 0)) {
             ret = VIR_LOCK_DAEMON_ERR_NETWORK;
             goto cleanup;
         }
 
         /* Only do this, if systemd did not pass a FD */
         if (rv == 0 &&
-            virLockDaemonSetupNetworkingNative(lockDaemon->srv, sock_file) < 0) {
+            virLockDaemonSetupNetworkingNative(srv, sock_file) < 0) {
             ret = VIR_LOCK_DAEMON_ERR_NETWORK;
             goto cleanup;
         }
@@ -1385,7 +1387,7 @@ int main(int argc, char **argv) {
         goto cleanup;
     }
 
-    if (virNetServerAddProgram(lockDaemon->srv, lockProgram) < 0) {
+    if (virNetServerAddProgram(srv, lockProgram) < 0) {
         ret = VIR_LOCK_DAEMON_ERR_INIT;
         goto cleanup;
     }
-- 
2.4.3




More information about the libvir-list mailing list