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 :|