static virStoragePoolObjPtr
virStoragePoolObjFromStoragePool(virStoragePoolPtr pool)
{
- virStoragePoolObjPtr ret;
-
- storageDriverLock();
- ret = storagePoolObjFindByUUID(pool->uuid, pool->name);
- storageDriverUnlock();
-
- return ret;
+ return storagePoolObjFindByUUID(pool->uuid, pool->name);
}
{
virStoragePoolObjPtr obj;
- storageDriverLock();
if (!(obj = virStoragePoolObjFindByName(driver->pools, name)))
virReportError(VIR_ERR_NO_STORAGE_POOL,
_("no storage pool with matching name '%s'"), name);
- storageDriverUnlock();
-
return obj;
}
virStoragePoolDefPtr def;
virStoragePoolPtr pool = NULL;
- storageDriverLock();
obj = storagePoolObjFindByUUID(uuid, NULL);
- storageDriverUnlock();
if (!obj)
return NULL;
def = virStoragePoolObjGetDef(obj);
static int
storageConnectNumOfStoragePools(virConnectPtr conn)
{
- int nactive = 0;
-
if (virConnectNumOfStoragePoolsEnsureACL(conn) < 0)
return -1;
- storageDriverLock();
- nactive = virStoragePoolObjNumOfStoragePools(driver->pools, conn, true,
- virConnectNumOfStoragePoolsCheckACL);
- storageDriverUnlock();
-
- return nactive;
+ return virStoragePoolObjNumOfStoragePools(driver->pools, conn, true,
+ virConnectNumOfStoragePoolsCheckACL);
}
char **const names,
int maxnames)
{
- int got = 0;
-
if (virConnectListStoragePoolsEnsureACL(conn) < 0)
return -1;
- storageDriverLock();
- got = virStoragePoolObjGetNames(driver->pools, conn, true,
- virConnectListStoragePoolsCheckACL,
- names, maxnames);
- storageDriverUnlock();
- return got;
+ return virStoragePoolObjGetNames(driver->pools, conn, true,
+ virConnectListStoragePoolsCheckACL,
+ names, maxnames);
}
static int
storageConnectNumOfDefinedStoragePools(virConnectPtr conn)
{
- int nactive = 0;
-
if (virConnectNumOfDefinedStoragePoolsEnsureACL(conn) < 0)
return -1;
- storageDriverLock();
- nactive = virStoragePoolObjNumOfStoragePools(driver->pools, conn, false,
- virConnectNumOfDefinedStoragePoolsCheckACL);
- storageDriverUnlock();
-
- return nactive;
+ return virStoragePoolObjNumOfStoragePools(driver->pools, conn, false,
+ virConnectNumOfDefinedStoragePoolsCheckACL);
}
char **const names,
int maxnames)
{
- int got = 0;
-
if (virConnectListDefinedStoragePoolsEnsureACL(conn) < 0)
return -1;
- storageDriverLock();
- got = virStoragePoolObjGetNames(driver->pools, conn, false,
- virConnectListDefinedStoragePoolsCheckACL,
- names, maxnames);
- storageDriverUnlock();
- return got;
+ return virStoragePoolObjGetNames(driver->pools, conn, false,
+ virConnectListDefinedStoragePoolsCheckACL,
+ names, maxnames);
}
/* This method is required to be re-entrant / thread safe, so
VIR_EXCLUSIVE_FLAGS_RET(VIR_STORAGE_POOL_BUILD_OVERWRITE,
VIR_STORAGE_POOL_BUILD_NO_OVERWRITE, NULL);
- storageDriverLock();
if (!(newDef = virStoragePoolDefParseString(xml)))
goto cleanup;
if (event)
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return pool;
}
virCheckFlags(0, NULL);
- storageDriverLock();
if (!(newDef = virStoragePoolDefParseString(xml)))
goto cleanup;
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolDefFree(newDef);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return pool;
}
virObjectEventPtr event = NULL;
int ret = -1;
- storageDriverLock();
if (!(obj = storagePoolObjFindByUUID(pool->uuid, pool->name)))
goto cleanup;
def = virStoragePoolObjGetDef(obj);
if (event)
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return ret;
}
char *stateFile = NULL;
int ret = -1;
- storageDriverLock();
if (!(obj = storagePoolObjFindByUUID(pool->uuid, pool->name)))
goto cleanup;
def = virStoragePoolObjGetDef(obj);
if (event)
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return ret;
}
virCheckFlags(0, -1);
- storageDriverLock();
if (!(obj = storagePoolObjFindByUUID(pool->uuid, pool->name)))
goto cleanup;
def = virStoragePoolObjGetDef(obj);
if (event)
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return ret;
}
bool cur_autostart;
int ret = -1;
- storageDriverLock();
if (!(obj = storagePoolObjFindByUUID(pool->uuid, pool->name)))
goto cleanup;
cleanup:
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
return ret;
}
.conn = conn, .key = key, .voldef = NULL };
virStorageVolPtr vol = NULL;
- storageDriverLock();
if ((obj = virStoragePoolObjListSearch(driver->pools,
storageVolLookupByKeyCallback,
&data)) && data.voldef) {
}
virStoragePoolObjEndAPI(&obj);
}
- storageDriverUnlock();
if (!vol)
virReportError(VIR_ERR_NO_STORAGE_VOL,
if (!(data.cleanpath = virFileSanitizePath(path)))
return NULL;
- storageDriverLock();
if ((obj = virStoragePoolObjListSearch(driver->pools,
storageVolLookupByPathCallback,
&data)) && data.voldef) {
}
virStoragePoolObjEndAPI(&obj);
}
- storageDriverUnlock();
if (!vol) {
if (STREQ(path, data.cleanpath)) {
if (!cleanpath)
return NULL;
- storageDriverLock();
if ((obj = virStoragePoolObjListSearch(driver->pools,
storagePoolLookupByTargetPathCallback,
cleanpath))) {
pool = virGetStoragePool(conn, def->name, def->uuid, NULL, NULL);
virStoragePoolObjEndAPI(&obj);
}
- storageDriverUnlock();
if (!pool) {
if (STREQ(path, cleanpath)) {
VIR_FREE(buildvoldef);
- storageDriverLock();
virObjectLock(obj);
- storageDriverUnlock();
voldef->building = false;
virStoragePoolObjDecrAsyncjobs(obj);
VIR_STORAGE_VOL_CREATE_REFLINK,
NULL);
- storageDriverLock();
obj = virStoragePoolObjFindByUUID(driver->pools, pool->uuid);
if (obj && STRNEQ(pool->name, volsrc->pool)) {
virObjectUnlock(obj);
objsrc = virStoragePoolObjFindByName(driver->pools, volsrc->pool);
virObjectLock(obj);
}
- storageDriverUnlock();
if (!obj) {
char uuidstr[VIR_UUID_STRING_BUFLEN];
virUUIDFormat(pool->uuid, uuidstr);
buildret = backend->buildVolFrom(pool->conn, obj, shadowvol, voldefsrc, flags);
- storageDriverLock();
virObjectLock(obj);
if (objsrc)
virObjectLock(objsrc);
- storageDriverUnlock();
voldefsrc->in_use--;
voldef->building = false;
virStorageBackendPtr backend;
virObjectEventPtr event = NULL;
- storageDriverLock();
if (cbdata->vol_path) {
if (virStorageBackendPloopRestoreDesc(cbdata->vol_path) < 0)
goto cleanup;
if (event)
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
- storageDriverUnlock();
virStorageVolPoolRefreshDataFree(cbdata);
}
virStoragePoolPtr **pools,
unsigned int flags)
{
- int ret = -1;
-
virCheckFlags(VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_ALL, -1);
if (virConnectListAllStoragePoolsEnsureACL(conn) < 0)
- goto cleanup;
-
- storageDriverLock();
- ret = virStoragePoolObjListExport(conn, driver->pools, pools,
- virConnectListAllStoragePoolsCheckACL,
- flags);
- storageDriverUnlock();
+ return -1;
- cleanup:
- return ret;
+ return virStoragePoolObjListExport(conn, driver->pools, pools,
+ virConnectListAllStoragePoolsCheckACL,
+ flags);
}
static int
virStoragePoolObjPtr
virStoragePoolObjFindPoolByUUID(const unsigned char *uuid)
{
- virStoragePoolObjPtr obj;
-
- storageDriverLock();
- obj = virStoragePoolObjFindByUUID(driver->pools, uuid);
- storageDriverUnlock();
- return obj;
+ return virStoragePoolObjFindByUUID(driver->pools, uuid);
}