virStoragePoolObjPtr obj = *objptr;
if (!virStoragePoolObjGetConfigFile(obj)) {
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
*objptr = NULL;
} else if (virStoragePoolObjGetNewDef(obj)) {
virStoragePoolObjDefUseNewDef(obj);
static void
storagePoolUpdateAllState(void)
{
- virStoragePoolObjListForEach(&driver->pools,
+ virStoragePoolObjListForEach(driver->pools,
storagePoolUpdateStateCallback,
NULL);
}
conn = virConnectOpen("qemu:///session");
/* Ignoring NULL conn - let backends decide */
- virStoragePoolObjListForEach(&driver->pools,
+ virStoragePoolObjListForEach(driver->pools,
storageDriverAutostartCallback,
conn);
}
storageDriverLock();
+ if (!(driver->pools = virStoragePoolObjListNew()))
+ goto error;
+
if (privileged) {
if (VIR_STRDUP(driver->configDir,
SYSCONFDIR "/libvirt/storage") < 0 ||
goto error;
}
- if (virStoragePoolObjLoadAllState(&driver->pools,
+ if (virStoragePoolObjLoadAllState(driver->pools,
driver->stateDir) < 0)
goto error;
- if (virStoragePoolObjLoadAllConfigs(&driver->pools,
+ if (virStoragePoolObjLoadAllConfigs(driver->pools,
driver->configDir,
driver->autostartDir) < 0)
goto error;
return -1;
storageDriverLock();
- virStoragePoolObjLoadAllState(&driver->pools,
+ virStoragePoolObjLoadAllState(driver->pools,
driver->stateDir);
- virStoragePoolObjLoadAllConfigs(&driver->pools,
+ virStoragePoolObjLoadAllConfigs(driver->pools,
driver->configDir,
driver->autostartDir);
storageDriverAutostart();
virObjectUnref(driver->storageEventState);
/* free inactive pools */
- virStoragePoolObjListFree(&driver->pools);
+ virStoragePoolObjListFree(driver->pools);
VIR_FREE(driver->configDir);
VIR_FREE(driver->autostartDir);
virStoragePoolObjPtr obj;
char uuidstr[VIR_UUID_STRING_BUFLEN];
- if (!(obj = virStoragePoolObjFindByUUID(&driver->pools, uuid))) {
+ if (!(obj = virStoragePoolObjFindByUUID(driver->pools, uuid))) {
virUUIDFormat(uuid, uuidstr);
if (name)
virReportError(VIR_ERR_NO_STORAGE_POOL,
virStoragePoolObjPtr obj;
storageDriverLock();
- if (!(obj = virStoragePoolObjFindByName(&driver->pools, name)))
+ if (!(obj = virStoragePoolObjFindByName(driver->pools, name)))
virReportError(VIR_ERR_NO_STORAGE_POOL,
_("no storage pool with matching name '%s'"), name);
storageDriverUnlock();
return -1;
storageDriverLock();
- nactive = virStoragePoolObjNumOfStoragePools(&driver->pools, conn, true,
+ nactive = virStoragePoolObjNumOfStoragePools(driver->pools, conn, true,
virConnectNumOfStoragePoolsCheckACL);
storageDriverUnlock();
return -1;
storageDriverLock();
- got = virStoragePoolObjGetNames(&driver->pools, conn, true,
+ got = virStoragePoolObjGetNames(driver->pools, conn, true,
virConnectListStoragePoolsCheckACL,
names, maxnames);
storageDriverUnlock();
return -1;
storageDriverLock();
- nactive = virStoragePoolObjNumOfStoragePools(&driver->pools, conn, false,
+ nactive = virStoragePoolObjNumOfStoragePools(driver->pools, conn, false,
virConnectNumOfDefinedStoragePoolsCheckACL);
storageDriverUnlock();
return -1;
storageDriverLock();
- got = virStoragePoolObjGetNames(&driver->pools, conn, false,
+ got = virStoragePoolObjGetNames(driver->pools, conn, false,
virConnectListDefinedStoragePoolsCheckACL,
names, maxnames);
storageDriverUnlock();
if (virStoragePoolCreateXMLEnsureACL(conn, newDef) < 0)
goto cleanup;
- if (virStoragePoolObjIsDuplicate(&driver->pools, newDef, 1) < 0)
+ if (virStoragePoolObjIsDuplicate(driver->pools, newDef, 1) < 0)
goto cleanup;
- if (virStoragePoolObjSourceFindDuplicate(conn, &driver->pools, newDef) < 0)
+ if (virStoragePoolObjSourceFindDuplicate(conn, driver->pools, newDef) < 0)
goto cleanup;
if ((backend = virStorageBackendForType(newDef->type)) == NULL)
goto cleanup;
- if (!(obj = virStoragePoolObjAssignDef(&driver->pools, newDef)))
+ if (!(obj = virStoragePoolObjAssignDef(driver->pools, newDef)))
goto cleanup;
newDef = NULL;
def = virStoragePoolObjGetDef(obj);
if (build_flags ||
(flags & VIR_STORAGE_POOL_CREATE_WITH_BUILD)) {
if (backend->buildPool(conn, obj, build_flags) < 0) {
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
obj = NULL;
goto cleanup;
}
if (backend->startPool &&
backend->startPool(conn, obj) < 0) {
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
obj = NULL;
goto cleanup;
}
unlink(stateFile);
if (backend->stopPool)
backend->stopPool(conn, obj);
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
obj = NULL;
goto cleanup;
}
if (virStoragePoolDefineXMLEnsureACL(conn, newDef) < 0)
goto cleanup;
- if (virStoragePoolObjIsDuplicate(&driver->pools, newDef, 0) < 0)
+ if (virStoragePoolObjIsDuplicate(driver->pools, newDef, 0) < 0)
goto cleanup;
- if (virStoragePoolObjSourceFindDuplicate(conn, &driver->pools, newDef) < 0)
+ if (virStoragePoolObjSourceFindDuplicate(conn, driver->pools, newDef) < 0)
goto cleanup;
if (virStorageBackendForType(newDef->type) == NULL)
goto cleanup;
- if (!(obj = virStoragePoolObjAssignDef(&driver->pools, newDef)))
+ if (!(obj = virStoragePoolObjAssignDef(driver->pools, newDef)))
goto cleanup;
newDef = NULL;
def = virStoragePoolObjGetDef(obj);
if (virStoragePoolObjSaveDef(driver, obj, def) < 0) {
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
obj = NULL;
goto cleanup;
}
0);
VIR_INFO("Undefining storage pool '%s'", def->name);
- virStoragePoolObjRemove(&driver->pools, obj);
+ virStoragePoolObjRemove(driver->pools, obj);
obj = NULL;
ret = 0;
virStorageVolPtr vol = NULL;
storageDriverLock();
- if ((obj = virStoragePoolObjListSearch(&driver->pools,
+ if ((obj = virStoragePoolObjListSearch(driver->pools,
storageVolLookupByKeyCallback,
&data)) && data.voldef) {
def = virStoragePoolObjGetDef(obj);
return NULL;
storageDriverLock();
- if ((obj = virStoragePoolObjListSearch(&driver->pools,
+ if ((obj = virStoragePoolObjListSearch(driver->pools,
storageVolLookupByPathCallback,
&data)) && data.voldef) {
def = virStoragePoolObjGetDef(obj);
return NULL;
storageDriverLock();
- if ((obj = virStoragePoolObjListSearch(&driver->pools,
+ if ((obj = virStoragePoolObjListSearch(driver->pools,
storagePoolLookupByTargetPathCallback,
cleanpath))) {
def = virStoragePoolObjGetDef(obj);
NULL);
storageDriverLock();
- obj = virStoragePoolObjFindByUUID(&driver->pools, pool->uuid);
+ obj = virStoragePoolObjFindByUUID(driver->pools, pool->uuid);
if (obj && STRNEQ(pool->name, volsrc->pool)) {
virObjectUnlock(obj);
- objsrc = virStoragePoolObjFindByName(&driver->pools, volsrc->pool);
+ objsrc = virStoragePoolObjFindByName(driver->pools, volsrc->pool);
virObjectLock(obj);
}
storageDriverUnlock();
if (virStorageBackendPloopRestoreDesc(cbdata->vol_path) < 0)
goto cleanup;
}
- if (!(obj = virStoragePoolObjFindByName(&driver->pools,
+ if (!(obj = virStoragePoolObjFindByName(driver->pools,
cbdata->pool_name)))
goto cleanup;
def = virStoragePoolObjGetDef(obj);
goto cleanup;
storageDriverLock();
- ret = virStoragePoolObjListExport(conn, &driver->pools, pools,
+ ret = virStoragePoolObjListExport(conn, driver->pools, pools,
virConnectListAllStoragePoolsCheckACL,
flags);
storageDriverUnlock();
virStoragePoolObjPtr obj;
storageDriverLock();
- obj = virStoragePoolObjFindByUUID(&driver->pools, uuid);
+ obj = virStoragePoolObjFindByUUID(driver->pools, uuid);
storageDriverUnlock();
return obj;
}
virInterfaceObjListPtr ifaces;
bool transaction_running;
virInterfaceObjListPtr backupIfaces;
- virStoragePoolObjList pools;
+ virStoragePoolObjListPtr pools;
virNodeDeviceObjListPtr devs;
int numCells;
testCell cells[MAX_CELLS];
virNodeDeviceObjListFree(driver->devs);
virObjectUnref(driver->networks);
virObjectUnref(driver->ifaces);
- virStoragePoolObjListFree(&driver->pools);
+ virStoragePoolObjListFree(driver->pools);
virObjectUnref(driver->eventState);
virMutexUnlock(&driver->lock);
virMutexDestroy(&driver->lock);
!(ret->ifaces = virInterfaceObjListNew()) ||
!(ret->domains = virDomainObjListNew()) ||
!(ret->networks = virNetworkObjListNew()) ||
- !(ret->devs = virNodeDeviceObjListNew()))
+ !(ret->devs = virNodeDeviceObjListNew()) ||
+ !(ret->pools = virStoragePoolObjListNew()))
goto error;
virAtomicIntSet(&ret->nextDomID, 1);
if (!def)
goto error;
- if (!(obj = virStoragePoolObjAssignDef(&privconn->pools,
- def))) {
+ if (!(obj = virStoragePoolObjAssignDef(privconn->pools, def))) {
virStoragePoolDefFree(def);
goto error;
}
virStoragePoolObjPtr obj;
testDriverLock(privconn);
- obj = virStoragePoolObjFindByName(&privconn->pools, name);
+ obj = virStoragePoolObjFindByName(privconn->pools, name);
testDriverUnlock(privconn);
if (!obj)
char uuidstr[VIR_UUID_STRING_BUFLEN];
testDriverLock(privconn);
- obj = virStoragePoolObjFindByUUID(&privconn->pools, uuid);
+ obj = virStoragePoolObjFindByUUID(privconn->pools, uuid);
testDriverUnlock(privconn);
if (!obj) {
int numActive = 0;
testDriverLock(privconn);
- numActive = virStoragePoolObjNumOfStoragePools(&privconn->pools, conn,
+ numActive = virStoragePoolObjNumOfStoragePools(privconn->pools, conn,
true, NULL);
testDriverUnlock(privconn);
int n = 0;
testDriverLock(privconn);
- n = virStoragePoolObjGetNames(&privconn->pools, conn, true, NULL,
+ n = virStoragePoolObjGetNames(privconn->pools, conn, true, NULL,
names, maxnames);
testDriverUnlock(privconn);
int numInactive = 0;
testDriverLock(privconn);
- numInactive = virStoragePoolObjNumOfStoragePools(&privconn->pools, conn,
+ numInactive = virStoragePoolObjNumOfStoragePools(privconn->pools, conn,
false, NULL);
testDriverUnlock(privconn);
int n = 0;
testDriverLock(privconn);
- n = virStoragePoolObjGetNames(&privconn->pools, conn, false, NULL,
+ n = virStoragePoolObjGetNames(privconn->pools, conn, false, NULL,
names, maxnames);
testDriverUnlock(privconn);
virCheckFlags(VIR_CONNECT_LIST_STORAGE_POOLS_FILTERS_ALL, -1);
testDriverLock(privconn);
- ret = virStoragePoolObjListExport(conn, &privconn->pools, pools,
+ ret = virStoragePoolObjListExport(conn, privconn->pools, pools,
NULL, flags);
testDriverUnlock(privconn);
if (!(newDef = virStoragePoolDefParseString(xml)))
goto cleanup;
- obj = virStoragePoolObjFindByUUID(&privconn->pools, newDef->uuid);
+ obj = virStoragePoolObjFindByUUID(privconn->pools, newDef->uuid);
if (!obj)
- obj = virStoragePoolObjFindByName(&privconn->pools, newDef->name);
+ obj = virStoragePoolObjFindByName(privconn->pools, newDef->name);
if (obj) {
virReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("storage pool already exists"));
goto cleanup;
}
- if (!(obj = virStoragePoolObjAssignDef(&privconn->pools, newDef)))
+ if (!(obj = virStoragePoolObjAssignDef(privconn->pools, newDef)))
goto cleanup;
newDef = NULL;
def = virStoragePoolObjGetDef(obj);
if (testCreateVport(privconn,
def->source.adapter.data.fchost.wwnn,
def->source.adapter.data.fchost.wwpn) < 0) {
- virStoragePoolObjRemove(&privconn->pools, obj);
+ virStoragePoolObjRemove(privconn->pools, obj);
obj = NULL;
goto cleanup;
}
}
if (testStoragePoolObjSetDefaults(obj) == -1) {
- virStoragePoolObjRemove(&privconn->pools, obj);
+ virStoragePoolObjRemove(privconn->pools, obj);
obj = NULL;
goto cleanup;
}
newDef->allocation = defaultPoolAlloc;
newDef->available = defaultPoolCap - defaultPoolAlloc;
- if (!(obj = virStoragePoolObjAssignDef(&privconn->pools, newDef)))
+ if (!(obj = virStoragePoolObjAssignDef(privconn->pools, newDef)))
goto cleanup;
newDef = NULL;
def = virStoragePoolObjGetDef(obj);
0);
if (testStoragePoolObjSetDefaults(obj) == -1) {
- virStoragePoolObjRemove(&privconn->pools, obj);
+ virStoragePoolObjRemove(privconn->pools, obj);
obj = NULL;
goto cleanup;
}
VIR_STORAGE_POOL_EVENT_UNDEFINED,
0);
- virStoragePoolObjRemove(&privconn->pools, obj);
+ virStoragePoolObjRemove(privconn->pools, obj);
testObjectEventQueue(privconn, event);
return 0;
0);
if (!(virStoragePoolObjGetConfigFile(obj))) {
- virStoragePoolObjRemove(&privconn->pools, obj);
+ virStoragePoolObjRemove(privconn->pools, obj);
obj = NULL;
}
ret = 0;
virStorageVolPtr vol = NULL;
testDriverLock(privconn);
- if ((obj = virStoragePoolObjListSearch(&privconn->pools,
+ if ((obj = virStoragePoolObjListSearch(privconn->pools,
testStorageVolLookupByKeyCallback,
&data)) && data.voldef) {
def = virStoragePoolObjGetDef(obj);
virStorageVolPtr vol = NULL;
testDriverLock(privconn);
- if ((obj = virStoragePoolObjListSearch(&privconn->pools,
+ if ((obj = virStoragePoolObjListSearch(privconn->pools,
testStorageVolLookupByPathCallback,
&data)) && data.voldef) {
def = virStoragePoolObjGetDef(obj);