[libvirt] [Libvirt] [PATCH v2] Fix bug #611823 prohibit pools with duplicate storage
Daniel P. Berrange
berrange at redhat.com
Tue Aug 2 11:11:50 UTC 2011
On Mon, Aug 01, 2011 at 02:12:51PM -0600, Eric Blake wrote:
> On 07/31/2011 10:58 PM, Lei Li wrote:
> >Make sure the unique storage pool defined and create from different directory to avoid inconsistent version of volume pool created.
>
> Wrap your commit messages; typically at 70 columns or so (since 'git
> log' adds some indentation, but you want the end result to still fit
> in 80 columns for legibility).
>
> >
> >Signed-off-by: Lei Li<lilei at linux.vnet.ibm.com>
> >---
> > src/conf/storage_conf.c | 36 ++++++++++++++++++++++++++++++++++++
> > src/conf/storage_conf.h | 4 ++++
> > src/libvirt_private.syms | 2 ++
> > src/storage/storage_driver.c | 6 ++++++
> > 4 files changed, 48 insertions(+), 0 deletions(-)
> >
>
> >
> >+virStoragePoolObjPtr
> >+virStoragePoolObjFindByPath(virStoragePoolObjListPtr pools,
> >+ const char *path) {
> >+ unsigned int i;
> >+
> >+ for (i = 0 ; i< pools->count ; i++) {
> >+ virStoragePoolObjLock(pools->objs[i]);
> >+ if (STREQ(pools->objs[i]->def->target.path, path))
> >+ return pools->objs[i];
> >+ virStoragePoolObjUnlock(pools->objs[i]);
> >+ }
> >+
> >+ return NULL;
> >+}
>
> This one is good; in fact, we may even want to expose it as a public
> API, parallel to other virStoragePoolLookupBy* functions (but not
> until after 0.9.4 is released)
No, this API is flawed because def->target.path is not required to
be unique for all types of storage pool.
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 :|
More information about the libvir-list
mailing list