[libvirt] [PATCH] build: drop conditional use of mdns code
Daniel P. Berrange
berrange at redhat.com
Mon Aug 6 09:56:22 UTC 2012
On Fri, Aug 03, 2012 at 04:33:17PM -0600, Eric Blake wrote:
> Commit 1f6f723 missed a step. At first I was worried that scrubbing
> the conditionals would lead to a runtime failure when compiled without
> avahi, but my testing makes it appear that the runtime error will only
> occur if the .conf files in /etc request mdns advertisement; and the
> old behavior was to silently ignore the request, so this is actually
> a better behavior of explicitly failing only when the config requests
> the impossible.
>
> * src/rpc/virnetserver.c: Drop HAVE_AVAHI conditionals; all
> callers already passed NULL if mdns_adv was not configured.
> ---
>
> In response to: https://www.redhat.com/archives/libvir-list/2012-August/msg00130.html
> I originally thought it would be harder than this, but my testing
> seems to show that this works. Caveat: my testing without avahi was
> done in a VM and not on bare metal, and since nested virt is slower,
> I may have inadvertently cut an important corner and missed a flaw
> in my above reasoning about why this is safe. So a close review,
> including checking all call sites, would be appreciated.
>
> src/rpc/virnetserver.c | 18 ++----------------
> 1 file changed, 2 insertions(+), 16 deletions(-)
>
> diff --git a/src/rpc/virnetserver.c b/src/rpc/virnetserver.c
> index 248ad9f..295e8fd 100644
> --- a/src/rpc/virnetserver.c
> +++ b/src/rpc/virnetserver.c
> @@ -36,9 +36,7 @@
> #include "util.h"
> #include "virfile.h"
> #include "event.h"
> -#if HAVE_AVAHI
> -# include "virnetservermdns.h"
> -#endif
> +#include "virnetservermdns.h"
>
> #ifndef SA_SIGINFO
> # define SA_SIGINFO 0
> @@ -81,10 +79,8 @@ struct _virNetServer {
> int sigwatch;
>
> char *mdnsGroupName;
> -#if HAVE_AVAHI
> virNetServerMDNSPtr mdns;
> virNetServerMDNSGroupPtr mdnsGroup;
> -#endif
>
> size_t nservices;
> virNetServerServicePtr *services;
> @@ -364,7 +360,6 @@ virNetServerPtr virNetServerNew(size_t min_workers,
> virReportOOMError();
> goto error;
> }
> -#if HAVE_AVAHI
> if (srv->mdnsGroupName) {
> if (!(srv->mdns = virNetServerMDNSNew()))
> goto error;
> @@ -372,7 +367,6 @@ virNetServerPtr virNetServerNew(size_t min_workers,
> srv->mdnsGroupName)))
> goto error;
> }
> -#endif
>
> if (virMutexInit(&srv->lock) < 0) {
> virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> @@ -592,14 +586,13 @@ error:
>
> int virNetServerAddService(virNetServerPtr srv,
> virNetServerServicePtr svc,
> - const char *mdnsEntryName ATTRIBUTE_UNUSED)
> + const char *mdnsEntryName)
> {
> virNetServerLock(srv);
>
> if (VIR_EXPAND_N(srv->services, srv->nservices, 1) < 0)
> goto no_memory;
>
> -#if HAVE_AVAHI
> if (mdnsEntryName) {
> int port = virNetServerServiceGetPort(svc);
>
> @@ -608,7 +601,6 @@ int virNetServerAddService(virNetServerPtr srv,
> port))
> goto error;
> }
> -#endif
>
> srv->services[srv->nservices-1] = svc;
> virNetServerServiceRef(svc);
> @@ -622,9 +614,7 @@ int virNetServerAddService(virNetServerPtr srv,
>
> no_memory:
> virReportOOMError();
> -#if HAVE_AVAHI
> error:
> -#endif
> virNetServerUnlock(srv);
> return -1;
> }
> @@ -694,11 +684,9 @@ void virNetServerRun(virNetServerPtr srv)
>
> virNetServerLock(srv);
>
> -#if HAVE_AVAHI
> if (srv->mdns &&
> virNetServerMDNSStart(srv->mdns) < 0)
> goto cleanup;
> -#endif
>
> srv->quit = 0;
>
> @@ -826,9 +814,7 @@ void virNetServerFree(virNetServerPtr srv)
> VIR_FREE(srv->clients);
>
> VIR_FREE(srv->mdnsGroupName);
> -#if HAVE_AVAHI
> virNetServerMDNSFree(srv->mdns);
> -#endif
>
> virMutexDestroy(&srv->lock);
> VIR_FREE(srv);
ACK
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list