On 06/30/2015 04:20 AM, Peter Krempa wrote: > The pool name has to be the same too to warrant rejecting a pool > definition as duplicate. This regression was introduced in commit > 2184ade3a0546b915252cb3b6a5dc88e9a8d2ccf. > How did it check duplicates before that commit? The difference there shows no checks being done on gluster at all... So semantically, not sure it's a regression... That commit just added a check to ensure the host names and 'dir' weren't the same... If anything it didn't go "far enough" to check the source.name. > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1236438 > --- > src/conf/storage_conf.c | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > While rereading virStorageBackendGlusterOpen, I'm now wondering... Does 'dir' have to be provided? The virStorageBackendGlusterOpen indicates that 'dir' could be NULL and would default to "/" ACK (although perhaps the STREQ_NULLABLE may need to be used for dir) John > diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c > index 4bbed4f..4fa065d 100644 > --- a/src/conf/storage_conf.c > +++ b/src/conf/storage_conf.c > @@ -2471,13 +2471,22 @@ virStoragePoolSourceFindDuplicate(virConnectPtr conn, > if (STREQ(pool->def->target.path, def->target.path)) > matchpool = pool; > break; > - case VIR_STORAGE_POOL_NETFS: > + > case VIR_STORAGE_POOL_GLUSTER: > + if (STREQ(pool->def->source.name, def->source.name) && > + STREQ(pool->def->source.dir, def->source.dir) && > + virStoragePoolSourceMatchSingleHost(&pool->def->source, > + &def->source)) > + matchpool = pool; > + break; > + > + case VIR_STORAGE_POOL_NETFS: > if (STREQ(pool->def->source.dir, def->source.dir) && > virStoragePoolSourceMatchSingleHost(&pool->def->source, > &def->source)) > matchpool = pool; > break; > + > case VIR_STORAGE_POOL_SCSI: > if (pool->def->source.adapter.type == > VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST && > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list