[libvirt] [PATCH glib] Make use of DHCP API conditionally compiled

Daniel P. Berrange berrange at redhat.com
Tue Jul 21 15:07:00 UTC 2015


On Tue, Jul 21, 2015 at 04:55:15PM +0200, Christophe Fergeau wrote:
> Hi,
> 
> On Tue, Jul 21, 2015 at 03:20:03PM +0100, Daniel P. Berrange wrote:
> > Previously the use of virDomainOpenGraphicsFD API from libvirt
> > 1.2.8 was made to be conditionally compiled. Given this past
> > practice, make use of the virNetworkGetDHCPLeases API
> > conditional too, rather than requiring newer libvirt.
> 
> I've tested compilation on f22 with/without finding
> virNetworkGetDHCPLeases (I hacked the configure check for the latter).
> I do not have a RHEL 7.0 handy to test this.

FYI I built a copy of 0.10.2 and tested against it

> > diff --git a/libvirt-gobject/libvirt-gobject-network.c b/libvirt-gobject/libvirt-gobject-network.c
> > index 45dbb71..a278105 100644
> > --- a/libvirt-gobject/libvirt-gobject-network.c
> > +++ b/libvirt-gobject/libvirt-gobject-network.c
> > @@ -29,7 +29,9 @@
> >  #include "libvirt-glib/libvirt-glib.h"
> >  #include "libvirt-gobject/libvirt-gobject.h"
> >  #include "libvirt-gobject-compat.h"
> > +#ifdef HAVE_VIR_NETWORK_GET_DHCP_LEASES
> >  #include "libvirt-gobject/libvirt-gobject-network-dhcp-lease-private.h"
> > +#endif /* HAVE_VIR_NETWORK_GET_DHCP_LEASES */
> >  
> >  #define GVIR_NETWORK_GET_PRIVATE(obj)                         \
> >          (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_TYPE_NETWORK, GVirNetworkPrivate))
> > @@ -249,14 +251,17 @@ GList *gvir_network_get_dhcp_leases(GVirNetwork *network,
> >                                      guint flags,
> >                                      GError **err)
> >  {
> > +#ifdef HAVE_VIR_NETWORK_GET_DHCP_LEASES
> >      virNetworkDHCPLeasePtr *leases;
> >      GList *ret = NULL;
> >      int num_leases, i;
> > +#endif /* HAVE_VIR_NETWORK_GET_DHCP_LEASES */
> >  
> >      g_return_val_if_fail(GVIR_IS_NETWORK(network), NULL);
> >      g_return_val_if_fail(err == NULL || *err == NULL, NULL);
> >      g_return_val_if_fail(flags == 0, NULL);
> >  
> > +#ifdef HAVE_VIR_NETWORK_GET_DHCP_LEASES
> >      num_leases = virNetworkGetDHCPLeases(network->priv->handle, mac, &leases, flags);
> >      if (num_leases < 0) {
> >          gvir_set_error_literal(err, GVIR_NETWORK_ERROR,
> > @@ -277,4 +282,11 @@ GList *gvir_network_get_dhcp_leases(GVirNetwork *network,
> >      free(leases);
> >  
> >      return g_list_reverse(ret);
> > +#else /* HAVE_VIR_NETWORK_GET_DHCP_LEASES */
> > +    (void)mac;
> 
> An alternative would be to add a G_GNUC_UNUSED in the argument list as
> this only indicates that the argument may be unused (as opposed to "is
> really unused"). Both are fine with me.

Yep

> > +    gvir_set_error_literal(err, GVIR_NETWORK_ERROR,
> > +			   0,
> > +			   "Unable to get network DHCP leases");
> 
> This should be g_set_error_literal().

Ah good point.

> ACK from me otherwise.

Regards,
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