On 10.05.2016 15:26, John Ferlan wrote: > Prior to calling the 'refreshPool' during CreatePool or UploadPool > operations, we need to clear the pool; otherwise, the pool will > have duplicated entries. > > Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> > --- > src/storage/storage_driver.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c > index 1d42f24..bf05b19 100644 > --- a/src/storage/storage_driver.c > +++ b/src/storage/storage_driver.c > @@ -727,6 +727,7 @@ storagePoolCreateXML(virConnectPtr conn, > stateFile = virFileBuildPath(driver->stateDir, > pool->def->name, ".xml"); > > + virStoragePoolObjClearVols(pool); > if (!stateFile || virStoragePoolSaveState(stateFile, pool->def) < 0 || > backend->refreshPool(conn, pool) < 0) { > if (stateFile) > @@ -918,6 +919,7 @@ storagePoolCreate(virStoragePoolPtr obj, > stateFile = virFileBuildPath(driver->stateDir, > pool->def->name, ".xml"); > > + virStoragePoolObjClearVols(pool); > if (!stateFile || virStoragePoolSaveState(stateFile, pool->def) < 0 || > backend->refreshPool(obj->conn, pool) < 0) { > if (stateFile) > @@ -2356,6 +2358,7 @@ storageVolUpload(virStorageVolPtr obj, > * interaction and we can just lookup the backend in the callback > * routine in order to call the refresh API. > */ > + virStoragePoolObjClearVols(pool); > if (backend->refreshPool) { > if (VIR_ALLOC(cbdata) < 0 || > VIR_STRDUP(cbdata->pool_name, pool->def->name) < 0) > While there's nothing wrong with this patch, after it we have this pair of ClearVols() + refreshPool() occurring all over the place. Should we create a wrapper function over it so we not miss anything similar in the future? Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list