Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/storage/storage_driver.c | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 3bd5d07efb..74c03b4cbf 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -65,16 +65,6 @@ struct _virStorageVolStreamInfo {
char *vol_path;
};
-static void storageDriverLock(void)
-{
- virMutexLock(&mutex);
-}
-static void storageDriverUnlock(void)
-{
- virMutexUnlock(&mutex);
-}
-
-
static void
storagePoolRefreshFailCleanup(virStorageBackend *backend,
virStoragePoolObj *obj,
@@ -297,6 +287,7 @@ storageStateInitialize(bool privileged,
g_autofree char *configdir = NULL;
g_autofree char *rundir = NULL;
bool autostart = true;
+ VIR_LOCK_GUARD lock = virLockGuardLock(&mutex);
if (root != NULL) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
@@ -307,7 +298,6 @@ storageStateInitialize(bool privileged,
driver = g_new0(virStorageDriverState, 1);
driver->lockFD = -1;
- storageDriverLock();
if (!(driver->pools = virStoragePoolObjListNew()))
goto error;
@@ -363,13 +353,10 @@ storageStateInitialize(bool privileged,
if (!(driver->caps = virStorageBackendGetCapabilities()))
goto error;
- storageDriverUnlock();
-
return VIR_DRV_STATE_INIT_COMPLETE;
error:
- storageDriverUnlock();
- storageStateCleanup();
+ storageStateCleanupLocked();
return VIR_DRV_STATE_INIT_ERROR;
}
@@ -382,17 +369,17 @@ storageStateInitialize(bool privileged,
static int
storageStateReload(void)
{
+ VIR_LOCK_GUARD lock = virLockGuardLock(&mutex);
+
if (!driver)
return -1;
- storageDriverLock();
virStoragePoolObjLoadAllState(driver->pools,
driver->stateDir);
virStoragePoolObjLoadAllConfigs(driver->pools,
driver->configDir,
driver->autostartDir);
storageDriverAutostart();
- storageDriverUnlock();
return 0;
}
--
2.31.1