From: John Ferlan Date: Fri, 30 Jan 2015 18:21:49 +0000 (-0500) Subject: storage: Need to clear pool prior to refreshPool during Autostart X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=1d2e4d8ca2ae84b5ac5bc63c36d3f75afaac136d;p=libvirt.git storage: Need to clear pool prior to refreshPool during Autostart https://bugzilla.redhat.com/show_bug.cgi?id=1176510 When storageDriverAutostart is called path virStateReload via a 'service libvirtd reload', then because the volume list in the pool wasn't cleared prior to the call, each volume would be listed multiple times (as many times as we reload). I believe the issue would be introduced by commit id '9e093f0b' at least for the libvirtd reload path, although I suppose the introduction of virStateReload (commit id '70da0494') could be a different cause. Thus like other places prior to calling refreshPool, we need to call virStoragePoolObjClearVols --- diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index e1dd448c81..ad92c9bf45 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -125,6 +125,7 @@ storageDriverAutostart(void) } if (started) { + virStoragePoolObjClearVols(pool); if (backend->refreshPool(conn, pool) < 0) { virErrorPtr err = virGetLastError(); if (backend->stopPool)