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@xxxxxxxxxxxx> > --- > 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list