[libvirt] [PATCH v2 1/9] virstoragefile: Add virStorageSourceGetBackingStore

Michal Privoznik mprivozn at redhat.com
Wed Jan 28 10:10:10 UTC 2015


On 21.01.2015 16:29, Matthias Gatto wrote:
> Create virStorageSourceGetBackingStore function in
> preparation for quorum:
> Actually, if we want to get a backing store inside a virStorageSource
> we have to do it manually(src->backingStore = backingStore).
> The problem is that with a quorum, a virStorageSource
> can contain multiple backing stores, and src->backingStore can
> be treated as a virStorageSourcePtr or a virStorageSourcePtrPtr.
> 
> Due to these reason, we need to simplify the manipulation of
> virStorageSource, and create a function to get the asked
> backingStore in a virStorageSource
> 
> For now, this function only return the backingStore field
> 
> Signed-off-by: Matthias Gatto <matthias.gatto at outscale.com>
> ---
>  src/libvirt_private.syms  | 1 +
>  src/util/virstoragefile.c | 8 ++++++++
>  src/util/virstoragefile.h | 3 +++
>  3 files changed, 12 insertions(+)
> 
> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
> index a2eec83..3f4d02c 100644
> --- a/src/libvirt_private.syms
> +++ b/src/libvirt_private.syms
> @@ -2023,6 +2023,7 @@ virStorageSourceClear;
>  virStorageSourceCopy;
>  virStorageSourceFree;
>  virStorageSourceGetActualType;
> +virStorageSourceGetBackingStore;
>  virStorageSourceGetSecurityLabelDef;
>  virStorageSourceInitChainElement;
>  virStorageSourceIsEmpty;
> diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
> index 7a4f9a0..dc6cf8f 100644
> --- a/src/util/virstoragefile.c
> +++ b/src/util/virstoragefile.c
> @@ -1798,6 +1798,14 @@ virStorageSourcePoolDefCopy(const virStorageSourcePoolDef *src)
>  }
>  
>  
> +virStorageSourcePtr
> +virStorageSourceGetBackingStore(const virStorageSource *src,
> +                                size_t pos ATTRIBUTE_UNUSED)
> +{
> +    return src->backingStore;
> +}
> +
> +
>  /**
>   * virStorageSourcePtr:
>   *
> diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
> index b4c3808..c37ddcf 100644
> --- a/src/util/virstoragefile.h
> +++ b/src/util/virstoragefile.h
> @@ -289,6 +289,9 @@ struct _virStorageSource {
>  #  define DEV_BSIZE 512
>  # endif
>  
> +virStorageSourcePtr virStorageSourceGetBackingStore(const virStorageSource *src,
> +                                                    size_t pos);
> +
>  int virStorageFileProbeFormat(const char *path, uid_t uid, gid_t gid);
>  int virStorageFileProbeFormatFromBuf(const char *path,
>                                       char *buf,
> 

ACK

Michal




More information about the libvir-list mailing list