On Thu, Oct 29, 2015 at 14:43:10 +0100, Matthias Gatto wrote: > As explained for virStorageSourceGetBackingStore, quorum allows > multiple backing store, this make the operation to set bs complex > because we have to check if the backingStore is used as an array > or a pointer, and set it differently in both case. > > In order to help the manipulation of backing store, I've added a > function virStorageSourceSetBackingStore. > > For now virStorageSourceSetBackingStore don't handle the case where > we have more than one backing store in virStorageSource. > > Signed-off-by: Matthias Gatto <[email protected]> > Signed-off-by: John Ferlan <[email protected]> > --- > src/libvirt_private.syms | 1 + > src/util/virstoragefile.c | 10 ++++++++++ > src/util/virstoragefile.h | 4 ++++ > 3 files changed, 15 insertions(+) >
> diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> index cb8e248..731e0c3 100644
> --- a/src/util/virstoragefile.c
> +++ b/src/util/virstoragefile.c
> @@ -1817,6 +1817,16 @@ virStorageSourceGetBackingStore(const virStorageSource
> *src,
> }
>
>
> +bool
> +virStorageSourceSetBackingStore(virStorageSourcePtr src,
> + virStorageSourcePtr backingStore,
> + size_t pos ATTRIBUTE_UNUSED)
> +{
Again, this needs to do bounds checking once you are passing the size
in.
> + src->backingStore = backingStore;
> + return !!src->backingStore;
This return value is rather unhelpful. If this function is going to
reallocate the array, please use the -1/0 return values as usual.
Otherwise this function might as well be declared as void, since the
caller knows whether 'backingStore' was passed in or not.
Peter
signature.asc
Description: Digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
