rpc: add method for checking if a named server exists

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>
This commit is contained in:
Daniel P. Berrange 2018-01-22 17:42:08 +00:00 committed by Daniel P. Berrangé
parent 9da0cc9ddb
commit e72f3e5933
3 changed files with 16 additions and 0 deletions

View File

@ -69,6 +69,7 @@ virNetDaemonClose;
virNetDaemonGetServer;
virNetDaemonGetServers;
virNetDaemonHasClients;
virNetDaemonHasServer;
virNetDaemonIsPrivileged;
virNetDaemonNew;
virNetDaemonNewPostExecRestart;

View 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;

View 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__ */