typedef struct _virStoragePoolTypeInfo virStoragePoolTypeInfo;
typedef virStoragePoolTypeInfo *virStoragePoolTypeInfoPtr;
-
struct _virStoragePoolTypeInfo {
int poolType;
virStoragePoolOptions poolOptions;
static virStoragePoolTypeInfoPtr
-virStoragePoolTypeInfoLookup(int type) {
+virStoragePoolTypeInfoLookup(int type)
+{
unsigned int i;
- for (i = 0; i < ARRAY_CARDINALITY(poolTypeInfo) ; i++)
+ for (i = 0; i < ARRAY_CARDINALITY(poolTypeInfo); i++)
if (poolTypeInfo[i].poolType == type)
return &poolTypeInfo[i];
}
static virStoragePoolOptionsPtr
-virStoragePoolOptionsForPoolType(int type) {
+virStoragePoolOptionsForPoolType(int type)
+{
virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type);
if (backend == NULL)
return NULL;
}
static virStorageVolOptionsPtr
-virStorageVolOptionsForPoolType(int type) {
+virStorageVolOptionsForPoolType(int type)
+{
virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type);
if (backend == NULL)
return NULL;
void
-virStorageVolDefFree(virStorageVolDefPtr def) {
+virStorageVolDefFree(virStorageVolDefPtr def)
+{
int i;
if (!def)
VIR_FREE(def->name);
VIR_FREE(def->key);
- for (i = 0 ; i < def->source.nextent ; i++) {
+ for (i = 0; i < def->source.nextent; i++) {
VIR_FREE(def->source.extents[i].path);
}
VIR_FREE(def->source.extents);
if (!source)
return;
- for (i = 0 ; i < source->nhost ; i++) {
+ for (i = 0; i < source->nhost; i++) {
VIR_FREE(source->hosts[i].name);
}
VIR_FREE(source->hosts);
- for (i = 0 ; i < source->ndevice ; i++) {
+ for (i = 0; i < source->ndevice; i++) {
VIR_FREE(source->devices[i].freeExtents);
VIR_FREE(source->devices[i].path);
}
}
void
-virStoragePoolDefFree(virStoragePoolDefPtr def) {
+virStoragePoolDefFree(virStoragePoolDefPtr def)
+{
if (!def)
return;
void
-virStoragePoolObjFree(virStoragePoolObjPtr obj) {
+virStoragePoolObjFree(virStoragePoolObjPtr obj)
+{
if (!obj)
return;
VIR_FREE(obj);
}
-void virStoragePoolObjListFree(virStoragePoolObjListPtr pools)
+void
+virStoragePoolObjListFree(virStoragePoolObjListPtr pools)
{
unsigned int i;
for (i = 0 ; i < pools->count ; i++)
virStoragePoolObjUnlock(pool);
- for (i = 0 ; i < pools->count ; i++) {
+ for (i = 0; i < pools->count; i++) {
virStoragePoolObjLock(pools->objs[i]);
if (pools->objs[i] == pool) {
virStoragePoolObjUnlock(pools->objs[i]);
static int
virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt,
- virStoragePoolAuthChapPtr auth) {
+ virStoragePoolAuthChapPtr auth)
+{
auth->login = virXPathString("string(./auth/@login)", ctxt);
if (auth->login == NULL) {
virReportError(VIR_ERR_XML_ERROR,
static int
virStoragePoolDefParseAuthCephx(xmlXPathContextPtr ctxt,
- virStoragePoolAuthCephxPtr auth) {
+ virStoragePoolAuthCephxPtr auth)
+{
char *uuid = NULL;
auth->username = virXPathString("string(./auth/@username)", ctxt);
if (auth->username == NULL) {
virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
virStoragePoolSourcePtr source,
int pool_type,
- xmlNodePtr node) {
+ xmlNodePtr node)
+{
int ret = -1;
xmlNodePtr relnode, *nodeset = NULL;
char *authType = NULL;
goto cleanup;
}
- for (i = 0 ; i < source->nhost ; i++) {
+ for (i = 0; i < source->nhost; i++) {
name = virXMLPropString(nodeset[i], "name");
if (name == NULL) {
virReportError(VIR_ERR_XML_ERROR,
return ret;
}
+
static int
virStorageDefParsePerms(xmlXPathContextPtr ctxt,
virStoragePermsPtr perms,
const char *permxpath,
- int defaultmode) {
+ int defaultmode)
+{
char *mode;
long v;
int ret = -1;
}
static virStoragePoolDefPtr
-virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) {
+virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
+{
virStoragePoolOptionsPtr options;
virStoragePoolDefPtr ret;
xmlNodePtr source_node;
return ret;
- cleanup:
+cleanup:
VIR_FREE(uuid);
xmlFree(type);
virStoragePoolDefFree(ret);
virStoragePoolDefPtr
virStoragePoolDefParseNode(xmlDocPtr xml,
- xmlNodePtr root) {
+ xmlNodePtr root)
+{
xmlXPathContextPtr ctxt = NULL;
virStoragePoolDefPtr def = NULL;
static virStoragePoolDefPtr
virStoragePoolDefParse(const char *xmlStr,
- const char *filename) {
+ const char *filename)
+{
virStoragePoolDefPtr ret = NULL;
xmlDocPtr xml;
if ((options->flags & VIR_STORAGE_POOL_SOURCE_DEVICE) &&
src->ndevice) {
- for (i = 0 ; i < src->ndevice ; i++) {
+ for (i = 0; i < src->ndevice; i++) {
if (src->devices[i].nfreeExtent) {
virBufferAsprintf(buf," <device path='%s'>\n",
src->devices[i].path);
- for (j = 0 ; j < src->devices[i].nfreeExtent ; j++) {
+ for (j = 0; j < src->devices[i].nfreeExtent; j++) {
virBufferAsprintf(buf, " <freeExtent start='%llu' end='%llu'/>\n",
src->devices[i].freeExtents[j].start,
src->devices[i].freeExtents[j].end);
}
virBufferAddLit(buf," </device>\n");
- }
- else
+ } else {
virBufferAsprintf(buf, " <device path='%s'/>\n",
src->devices[i].path);
+ }
}
}
+
if ((options->flags & VIR_STORAGE_POOL_SOURCE_DIR) &&
src->dir)
virBufferAsprintf(buf," <dir path='%s'/>\n", src->dir);
+
if ((options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER)) {
if (src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST ||
src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_SCSI_HOST)
virBufferAsprintf(buf," name='%s'/>\n", src->adapter.data.name);
}
}
+
if ((options->flags & VIR_STORAGE_POOL_SOURCE_NAME) &&
src->name)
virBufferAsprintf(buf," <name>%s</name>\n", src->name);
virBufferAsprintf(buf," <format type='%s'/>\n", format);
}
-
if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP)
virBufferAsprintf(buf," <auth type='chap' login='%s' passwd='%s'/>\n",
src->auth.chap.login,
char *
-virStoragePoolDefFormat(virStoragePoolDefPtr def) {
+virStoragePoolDefFormat(virStoragePoolDefPtr def)
+{
virStoragePoolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER;
const char *type;
if (virStoragePoolSourceFormat(&buf, options, &def->source) < 0)
goto cleanup;
- /* RBD and Sheepdog devices are not local block devs nor files, so it doesn't
- * have a target */
- if (def->type != VIR_STORAGE_POOL_RBD && def->type != VIR_STORAGE_POOL_SHEEPDOG) {
+ /* RBD and Sheepdog devices are not local block devs nor files, so it
+ * doesn't have a target */
+ if (def->type != VIR_STORAGE_POOL_RBD &&
+ def->type != VIR_STORAGE_POOL_SHEEPDOG) {
virBufferAddLit(&buf," <target>\n");
if (def->target.path)
return virBufferContentAndReset(&buf);
- no_memory:
+no_memory:
virReportOOMError();
- cleanup:
+cleanup:
virBufferFreeAndReset(&buf);
return NULL;
}
static virStorageVolDefPtr
virStorageVolDefParseXML(virStoragePoolDefPtr pool,
- xmlXPathContextPtr ctxt) {
+ xmlXPathContextPtr ctxt)
+{
virStorageVolDefPtr ret;
virStorageVolOptionsPtr options;
char *allocation = NULL;
}
/* Auto-generated so deliberately ignore */
- /*ret->key = virXPathString("string(./key)", ctxt);*/
+ /* ret->key = virXPathString("string(./key)", ctxt); */
capacity = virXPathString("string(./capacity)", ctxt);
unit = virXPathString("string(./capacity/@unit)", ctxt);
goto cleanup;
}
-
-
ret->backingStore.path = virXPathString("string(./backingStore/path)", ctxt);
if (options->formatFromString) {
char *format = virXPathString("string(./backingStore/format/@type)", ctxt);
return ret;
- cleanup:
+cleanup:
VIR_FREE(allocation);
VIR_FREE(capacity);
VIR_FREE(unit);
virStorageVolDefPtr
virStorageVolDefParseNode(virStoragePoolDefPtr pool,
xmlDocPtr xml,
- xmlNodePtr root) {
+ xmlNodePtr root)
+{
xmlXPathContextPtr ctxt = NULL;
virStorageVolDefPtr def = NULL;
static virStorageVolDefPtr
virStorageVolDefParse(virStoragePoolDefPtr pool,
const char *xmlStr,
- const char *filename) {
+ const char *filename)
+{
virStorageVolDefPtr ret = NULL;
xmlDocPtr xml;
char *
virStorageVolDefFormat(virStoragePoolDefPtr pool,
- virStorageVolDefPtr def) {
+ virStorageVolDefPtr def)
+{
virStorageVolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER;
if (def->source.nextent) {
int i;
const char *thispath = NULL;
- for (i = 0 ; i < def->source.nextent ; i++) {
+ for (i = 0; i < def->source.nextent; i++) {
if (thispath == NULL ||
STRNEQ(thispath, def->source.extents[i].path)) {
if (thispath != NULL)
return virBufferContentAndReset(&buf);
- no_memory:
+no_memory:
virReportOOMError();
- cleanup:
+cleanup:
virBufferFreeAndReset(&buf);
return NULL;
}
virStoragePoolObjPtr
virStoragePoolObjFindByUUID(virStoragePoolObjListPtr pools,
- const unsigned char *uuid) {
+ const unsigned char *uuid)
+{
unsigned int i;
- for (i = 0 ; i < pools->count ; i++) {
+ for (i = 0; i < pools->count; i++) {
virStoragePoolObjLock(pools->objs[i]);
if (!memcmp(pools->objs[i]->def->uuid, uuid, VIR_UUID_BUFLEN))
return pools->objs[i];
virStoragePoolObjPtr
virStoragePoolObjFindByName(virStoragePoolObjListPtr pools,
- const char *name) {
+ const char *name)
+{
unsigned int i;
for (i = 0 ; i < pools->count ; i++) {
virStoragePoolObjPtr
virStoragePoolSourceFindDuplicateDevices(virStoragePoolObjPtr pool,
- virStoragePoolDefPtr def) {
+ virStoragePoolDefPtr def)
+{
unsigned int i, j;
for (i = 0; i < pool->def->source.ndevice; i++) {
virStoragePoolObjClearVols(virStoragePoolObjPtr pool)
{
unsigned int i;
- for (i = 0 ; i < pool->volumes.count ; i++)
+ for (i = 0; i < pool->volumes.count; i++)
virStorageVolDefFree(pool->volumes.objs[i]);
VIR_FREE(pool->volumes.objs);
virStorageVolDefPtr
virStorageVolDefFindByKey(virStoragePoolObjPtr pool,
- const char *key) {
+ const char *key)
+{
unsigned int i;
- for (i = 0 ; i < pool->volumes.count ; i++)
+ for (i = 0; i < pool->volumes.count; i++)
if (STREQ(pool->volumes.objs[i]->key, key))
return pool->volumes.objs[i];
virStorageVolDefPtr
virStorageVolDefFindByPath(virStoragePoolObjPtr pool,
- const char *path) {
+ const char *path)
+{
unsigned int i;
for (i = 0 ; i < pool->volumes.count ; i++)
virStorageVolDefPtr
virStorageVolDefFindByName(virStoragePoolObjPtr pool,
- const char *name) {
+ const char *name)
+{
unsigned int i;
- for (i = 0 ; i < pool->volumes.count ; i++)
+ for (i = 0; i < pool->volumes.count; i++)
if (STREQ(pool->volumes.objs[i]->name, name))
return pool->volumes.objs[i];
virStoragePoolObjPtr
virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
- virStoragePoolDefPtr def) {
+ virStoragePoolDefPtr def)
+{
virStoragePoolObjPtr pool;
if ((pool = virStoragePoolObjFindByName(pools, def->name))) {
virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
const char *file,
const char *path,
- const char *autostartLink) {
+ const char *autostartLink)
+{
virStoragePoolDefPtr def;
virStoragePoolObjPtr pool;
int
virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools,
const char *configDir,
- const char *autostartDir) {
+ const char *autostartDir)
+{
DIR *dir;
struct dirent *entry;
}
int
-virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool) {
+virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool)
+{
if (!pool->configFile) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("no config file for %s"), pool->def->name);
{
virStoragePoolSourcePtr source;
- if (VIR_REALLOC_N(list->sources, list->nsources+1) < 0) {
+ if (VIR_REALLOC_N(list->sources, list->nsources + 1) < 0) {
virReportOOMError();
return NULL;
}
return source;
}
-char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def)
+char *
+virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def)
{
virStoragePoolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER;
return virBufferContentAndReset(&buf);
- no_memory:
+no_memory:
virReportOOMError();
- cleanup:
+cleanup:
virBufferFreeAndReset(&buf);
return NULL;
}
* 0 if pool is new
* 1 if pool is a duplicate
*/
-int virStoragePoolObjIsDuplicate(virStoragePoolObjListPtr pools,
- virStoragePoolDefPtr def,
- unsigned int check_active)
+int
+virStoragePoolObjIsDuplicate(virStoragePoolObjListPtr pools,
+ virStoragePoolDefPtr def,
+ unsigned int check_active)
{
int ret = -1;
int dupPool = 0;
return ret;
}
-int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
- virStoragePoolDefPtr def)
+int
+virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
+ virStoragePoolDefPtr def)
{
int i;
int ret = 1;
}
break;
case VIR_STORAGE_POOL_ISCSI:
- {
matchpool = virStoragePoolSourceFindDuplicateDevices(pool, def);
if (matchpool) {
if (matchpool->def->source.nhost == 1 && def->source.nhost == 1) {
matchpool = NULL;
}
break;
- }
case VIR_STORAGE_POOL_FS:
case VIR_STORAGE_POOL_LOGICAL:
case VIR_STORAGE_POOL_DISK:
return ret;
}
-void virStoragePoolObjLock(virStoragePoolObjPtr obj)
+void
+virStoragePoolObjLock(virStoragePoolObjPtr obj)
{
virMutexLock(&obj->lock);
}
-void virStoragePoolObjUnlock(virStoragePoolObjPtr obj)
+void
+virStoragePoolObjUnlock(virStoragePoolObjPtr obj)
{
virMutexUnlock(&obj->lock);
}