[PATCH 4/4] storage: If driver startup state syncing fails, delete statefile

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



If you end up with a state file for a pool that no longer starts up
or refreshes correctly, the state file is never removed and adds
noise to the logs everytime libvirtd is started.

If the initial state syncing fails, delete the statefile.
---
 src/storage/storage_driver.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 9abdc68..ac4a74a 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -79,6 +79,12 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
 {
     bool active;
     virStorageBackendPtr backend;
+    int ret = -1;
+    char *stateFile;
+
+    if (!(stateFile = virFileBuildPath(driver->stateDir,
+                                       pool->def->name, ".xml")))
+        goto error;
 
     if ((backend = virStorageBackendForType(pool->def->type)) == NULL) {
         VIR_ERROR(_("Missing backend %d"), pool->def->type);
@@ -116,7 +122,14 @@ storagePoolUpdateState(virStoragePoolObjPtr pool)
     }
 
     pool->active = active;
+    ret = 0;
  error:
+    if (ret < 0) {
+        if (stateFile)
+            unlink(stateFile);
+    }
+    VIR_FREE(stateFile);
+
     return;
 }
 
-- 
2.3.6

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]