On Wed, Feb 01, 2012 at 12:03:43PM +0100, Christophe Fergeau wrote:
On Wed, Feb 01, 2012 at 02:27:28AM +0200, Zeeshan Ali (Khattak)
wrote:
> From: "Zeeshan Ali (Khattak)" <zeeshanak(a)gnome.org>
>
> Add wrapper for virStorageVolResize().
> ---
> libvirt-gobject/libvirt-gobject-storage-vol.c | 45 +++++++++++++++++++++++++
> libvirt-gobject/libvirt-gobject-storage-vol.h | 20 +++++++++++
> libvirt-gobject/libvirt-gobject.sym | 1 +
> 3 files changed, 66 insertions(+), 0 deletions(-)
>
> diff --git a/libvirt-gobject/libvirt-gobject-storage-vol.c
b/libvirt-gobject/libvirt-gobject-storage-vol.c
> index 491e2e6..f6f0c50 100644
> --- a/libvirt-gobject/libvirt-gobject-storage-vol.c
> +++ b/libvirt-gobject/libvirt-gobject-storage-vol.c
> @@ -299,3 +299,48 @@ gboolean gvir_storage_vol_delete(GVirStorageVol *vol,
>
> return TRUE;
> }
> +
> +/**
> + * gvir_storage_vol_resize:
> + * @vol: the storage volume to resize
> + * @capacity: the new capacity of the volume
> + * @flags: the flags
> + * @err: Return location for errors, or NULL
> + *
> + * Changes the capacity of the storage volume @vol to @capacity.
> + *
> + * Returns: the new capacity of the volume on success, 0 otherwise
> + */
> +gboolean gvir_storage_vol_resize(GVirStorageVol *vol,
> + guint64 capacity,
> + GVirStorageVolResizeFlags flags,
We're probably already doing that in other places, I may have already
mentioned it, but I'm a bit uncomfortable with using the enum type for
bitfields. If I'm not mistaken, if we use GVirStorageVolResizeFlags,
passing a value which is not one of the enum values (such as DELTA |
SHRINK) is undefined behaviour in the C spec. I'm fine with us deciding
it's not important, but it's still worth mentioning :)
Yeah, for methods which are 'flags', we should use guint64 as the
type. Only use the enum types for things which really are enums,
not bitfields.
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 :|