]> xenbits.xensource.com Git - libvirt.git/commitdiff
server: Store server name in server object
authorMartin Kletzander <mkletzan@redhat.com>
Tue, 1 Mar 2016 14:34:15 +0000 (15:34 +0100)
committerMartin Kletzander <mkletzan@redhat.com>
Fri, 11 Mar 2016 11:58:41 +0000 (12:58 +0100)
At first I did not want to do this, but after trying to implement some
newer feaures in the admin API I realized we need that to make our lives
easier.  On the other hand they are not saved redundantly and the
virNetServer objects are still kept in a hash table.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
daemon/libvirtd.c
src/locking/lock_daemon.c
src/logging/log_daemon.c
src/lxc/lxc_controller.c
src/rpc/virnetdaemon.c
src/rpc/virnetserver.c
src/rpc/virnetserver.h
tests/virnetdaemontest.c

index d1b98c9c3d0251f7d85736b21e72c2791d2054b0..beddec1bb85230965ede10d4716874d5cbb767e9 100644 (file)
@@ -1382,7 +1382,8 @@ int main(int argc, char **argv) {
         goto cleanup;
     }
 
-    if (!(srv = virNetServerNew(config->min_workers,
+    if (!(srv = virNetServerNew("libvirtd",
+                                config->min_workers,
                                 config->max_workers,
                                 config->prio_workers,
                                 config->max_clients,
@@ -1456,7 +1457,8 @@ int main(int argc, char **argv) {
         goto cleanup;
     }
 
-    if (!(srvAdm = virNetServerNew(config->admin_min_workers,
+    if (!(srvAdm = virNetServerNew("admin",
+                                   config->admin_min_workers,
                                    config->admin_max_workers,
                                    0,
                                    config->admin_max_clients,
index cd70aa94d7a2ace0ef83f1ddc72a99c2c745fe39..c89b842f0fafc890a56858cb177f62a8eb950878 100644 (file)
@@ -160,7 +160,8 @@ virLockDaemonNew(virLockDaemonConfigPtr config, bool privileged)
         return NULL;
     }
 
-    if (!(srv = virNetServerNew(1, 1, 0, config->max_clients,
+    if (!(srv = virNetServerNew("virtlockd",
+                                1, 1, 0, config->max_clients,
                                 config->max_clients, -1, 0,
                                 NULL,
                                 virLockDaemonClientNew,
index 07a03c24199a44078d88f2ea307b8f015fe405df..866e8a85f4fa8f19021576dccec9571a6afbacfe 100644 (file)
@@ -150,7 +150,8 @@ virLogDaemonNew(virLogDaemonConfigPtr config, bool privileged)
         return NULL;
     }
 
-    if (!(logd->srv = virNetServerNew(1, 1, 0, config->max_clients,
+    if (!(logd->srv = virNetServerNew("virtlogd",
+                                      1, 1, 0, config->max_clients,
                                       config->max_clients, -1, 0,
                                       NULL,
                                       virLogDaemonClientNew,
index 76bef82e709c1d41dd9b6eb8b45eb263cbbf7005..21cf71fa08a59102674e835d473169455bb686aa 100644 (file)
@@ -928,7 +928,8 @@ static int virLXCControllerSetupServer(virLXCControllerPtr ctrl)
                     LXC_STATE_DIR, ctrl->name) < 0)
         return -1;
 
-    if (!(srv = virNetServerNew(0, 0, 0, 1,
+    if (!(srv = virNetServerNew("LXC",
+                                0, 0, 0, 1,
                                 0, -1, 0,
                                 NULL,
                                 virLXCControllerClientPrivateNew,
index 298fbf4ab086eb0c7eb5d1c756a8c5ff13d6aa28..7ae06dd380072180c664b4b1f29ac112cb813218 100644 (file)
@@ -276,6 +276,7 @@ virNetDaemonAddServerPostExec(virNetDaemonPtr dmn,
     }
 
     srv = virNetServerNewPostExecRestart(object,
+                                         serverName,
                                          clientPrivNew,
                                          clientPrivNewPostExecRestart,
                                          clientPrivPreExecRestart,
index 547e52e409c03249305cbb9fd3cbf43dedc3b850..cf48e50603e4fd37be311785af871deae81a3698 100644 (file)
@@ -49,6 +49,8 @@ struct _virNetServerJob {
 struct _virNetServer {
     virObjectLockable parent;
 
+    char *name;
+
     virThreadPoolPtr workers;
 
     char *mdnsGroupName;
@@ -304,7 +306,8 @@ static int virNetServerDispatchNewClient(virNetServerServicePtr svc,
 }
 
 
-virNetServerPtr virNetServerNew(size_t min_workers,
+virNetServerPtr virNetServerNew(const char *name,
+                                size_t min_workers,
                                 size_t max_workers,
                                 size_t priority_workers,
                                 size_t max_clients,
@@ -332,6 +335,9 @@ virNetServerPtr virNetServerNew(size_t min_workers,
                                           srv)))
         goto error;
 
+    if (VIR_STRDUP(srv->name, name) < 0)
+        goto error;
+
     srv->nclients_max = max_clients;
     srv->nclients_unauth_max = max_anonymous_clients;
     srv->keepaliveInterval = keepaliveInterval;
@@ -359,6 +365,7 @@ virNetServerPtr virNetServerNew(size_t min_workers,
 
 
 virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
+                                               const char *name,
                                                virNetServerClientPrivNew clientPrivNew,
                                                virNetServerClientPrivNewPostExecRestart clientPrivNewPostExecRestart,
                                                virNetServerClientPrivPreExecRestart clientPrivPreExecRestart,
@@ -427,7 +434,8 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
         goto error;
     }
 
-    if (!(srv = virNetServerNew(min_workers, max_workers,
+    if (!(srv = virNetServerNew(name,
+                                min_workers, max_workers,
                                 priority_workers, max_clients,
                                 max_anonymous_clients,
                                 keepaliveInterval, keepaliveCount,
@@ -734,6 +742,8 @@ void virNetServerDispose(void *obj)
     virNetServerPtr srv = obj;
     size_t i;
 
+    VIR_FREE(srv->name);
+
     for (i = 0; i < srv->nservices; i++)
         virNetServerServiceToggle(srv->services[i], false);
 
@@ -861,3 +871,9 @@ virNetServerStart(virNetServerPtr srv)
 
     return virNetServerMDNSStart(srv->mdns);
 }
+
+const char *
+virNetServerGetName(virNetServerPtr srv)
+{
+    return srv->name;
+}
index 89d8db9b9ee40895325dce831f8d6386efda23b6..aa244401a27f8b0f5c3c5bf6b7b3cc83ae0887d9 100644 (file)
@@ -34,7 +34,8 @@
 # include "virjson.h"
 
 
-virNetServerPtr virNetServerNew(size_t min_workers,
+virNetServerPtr virNetServerNew(const char *name,
+                                size_t min_workers,
                                 size_t max_workers,
                                 size_t priority_workers,
                                 size_t max_clients,
@@ -48,6 +49,7 @@ virNetServerPtr virNetServerNew(size_t min_workers,
                                 void *clientPrivOpaque);
 
 virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
+                                               const char *name,
                                                virNetServerClientPrivNew clientPrivNew,
                                                virNetServerClientPrivNewPostExecRestart clientPrivNewPostExecRestart,
                                                virNetServerClientPrivPreExecRestart clientPrivPreExecRestart,
@@ -85,4 +87,6 @@ void virNetServerUpdateServices(virNetServerPtr srv, bool enabled);
 
 int virNetServerStart(virNetServerPtr srv);
 
+const char *virNetServerGetName(virNetServerPtr srv);
+
 #endif /* __VIR_NET_SERVER_H__ */
index 2f855fdde2f2a132e21e6485964a4326a211be0e..443a406b77f22983d2119ed1c40a505649a5a0c2 100644 (file)
@@ -28,7 +28,7 @@
 
 #if defined(HAVE_SOCKETPAIR) && defined(WITH_YAJL)
 static virNetServerPtr
-testCreateServer(const char *host, int family)
+testCreateServer(const char *server_name, const char *host, int family)
 {
     virNetServerPtr srv = NULL;
     virNetServerServicePtr svc1 = NULL, svc2 = NULL;
@@ -49,7 +49,8 @@ testCreateServer(const char *host, int family)
         goto cleanup;
     }
 
-    if (!(srv = virNetServerNew(10, 50, 5, 100, 10,
+    if (!(srv = virNetServerNew(server_name,
+                                10, 50, 5, 100, 10,
                                 120, 5,
                                 mdns_group,
                                 NULL,
@@ -155,7 +156,8 @@ static char *testGenerateJSON(const char *server_name)
     if (!has_ipv4 && !has_ipv6)
         return NULL;
 
-    if (!(srv = testCreateServer(has_ipv4 ? "127.0.0.1" : "::1",
+    if (!(srv = testCreateServer(server_name,
+                                 has_ipv4 ? "127.0.0.1" : "::1",
                                  has_ipv4 ? AF_INET : AF_INET6)))
         goto cleanup;