[libvirt] [PATCH] storage: Need to clear pool prior to refreshPool during Autostart

John Ferlan jferlan at redhat.com
Fri Jan 30 19:25:18 UTC 2015


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

Signed-off-by: John Ferlan <jferlan at redhat.com>
 src/storage/storage_driver.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index e1dd448..ad92c9b 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)

More information about the libvir-list mailing list