From ca1701e3c2dc4647d5e67b168b32ddbf626e1bc7 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Fri, 30 Jan 2015 13:21:49 -0500 Subject: [PATCH] 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 (cherry picked from commit 1d2e4d8ca2ae84b5ac5bc63c36d3f75afaac136d) --- 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 7d4ae50c53..82269b5c46 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -125,6 +125,7 @@ storageDriverAutostart(virStorageDriverStatePtr driver) } if (started) { + virStoragePoolObjClearVols(pool); if (backend->refreshPool(conn, pool) < 0) { virErrorPtr err = virGetLastError(); if (backend->stopPool)