]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
rpc: add method for checking if a named server exists
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 22 Jan 2018 17:42:08 +0000 (17:42 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Wed, 31 Jan 2018 15:16:40 +0000 (15:16 +0000)
It is not possible to blindly call virNetDaemonGetServer()
because in a post-exec restart scenario, some servers may
not exist and this method will pollute the error logs.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
src/libvirt_remote.syms
src/rpc/virnetdaemon.c
src/rpc/virnetdaemon.h

index a181c4cf7f92420716c3115b5d203181e957d390..fab6ab9dff18ec8e0c5ce7e6d110e6fa22f8ee57 100644 (file)
@@ -69,6 +69,7 @@ virNetDaemonClose;
 virNetDaemonGetServer;
 virNetDaemonGetServers;
 virNetDaemonHasClients;
+virNetDaemonHasServer;
 virNetDaemonIsPrivileged;
 virNetDaemonNew;
 virNetDaemonNewPostExecRestart;
index 8c2141489710b16a114937bf8ec74d52de8c7a94..5d61a255c6b3a0feff74cb84b3bfd345a1471c06 100644 (file)
@@ -195,6 +195,19 @@ virNetDaemonGetServer(virNetDaemonPtr dmn,
     return srv;
 }
 
+bool
+virNetDaemonHasServer(virNetDaemonPtr dmn,
+                      const char *serverName)
+{
+    void *ent;
+
+    virObjectLock(dmn);
+    ent = virHashLookup(dmn->servers, serverName);
+    virObjectUnlock(dmn);
+
+    return ent != NULL;
+}
+
 
 struct collectData {
     virNetServerPtr **servers;
index 211009c5030a9e4f16db5fcbdc0767b33437cfb6..72c1df69b4247d3dca2750d9eeee86cc5e33ba60 100644 (file)
@@ -83,5 +83,7 @@ bool virNetDaemonHasClients(virNetDaemonPtr dmn);
 virNetServerPtr virNetDaemonGetServer(virNetDaemonPtr dmn,
                                       const char *serverName);
 ssize_t virNetDaemonGetServers(virNetDaemonPtr dmn, virNetServerPtr **servers);
+bool virNetDaemonHasServer(virNetDaemonPtr dmn,
+                           const char *serverName);
 
 #endif /* __VIR_NET_DAEMON_H__ */