提交 c8a3cf89 编写于 作者: O Osier Yang

storage_conf: Fix the coding stype in storage_conf.c

Changes:
  * Remove the useless space in "for" statement (e.g.
    for (i = 0 ; i < something ; i++)

  * Change the function's style to:
    void
    foo(bar)
    {
        printf("foo is not bar\n");
    }

  * Don't lose "{}" for "if...else" branches if one of the branch
    has more than one line block. Example of the old ones:
    if (a) {
        printf("a is not funny");
    } else
        printf("a is funny");

  * Remove the 1 space before "goto" label.

  * Remove the useless blank line(s)

  * Add blank line if it can make the code more clear to eyes.
上级 479d5991
...@@ -130,7 +130,6 @@ struct _virStoragePoolOptions { ...@@ -130,7 +130,6 @@ struct _virStoragePoolOptions {
typedef struct _virStoragePoolTypeInfo virStoragePoolTypeInfo; typedef struct _virStoragePoolTypeInfo virStoragePoolTypeInfo;
typedef virStoragePoolTypeInfo *virStoragePoolTypeInfoPtr; typedef virStoragePoolTypeInfo *virStoragePoolTypeInfoPtr;
struct _virStoragePoolTypeInfo { struct _virStoragePoolTypeInfo {
int poolType; int poolType;
virStoragePoolOptions poolOptions; virStoragePoolOptions poolOptions;
...@@ -252,9 +251,10 @@ static virStoragePoolTypeInfo poolTypeInfo[] = { ...@@ -252,9 +251,10 @@ static virStoragePoolTypeInfo poolTypeInfo[] = {
static virStoragePoolTypeInfoPtr static virStoragePoolTypeInfoPtr
virStoragePoolTypeInfoLookup(int type) { virStoragePoolTypeInfoLookup(int type)
{
unsigned int i; unsigned int i;
for (i = 0; i < ARRAY_CARDINALITY(poolTypeInfo) ; i++) for (i = 0; i < ARRAY_CARDINALITY(poolTypeInfo); i++)
if (poolTypeInfo[i].poolType == type) if (poolTypeInfo[i].poolType == type)
return &poolTypeInfo[i]; return &poolTypeInfo[i];
...@@ -264,7 +264,8 @@ virStoragePoolTypeInfoLookup(int type) { ...@@ -264,7 +264,8 @@ virStoragePoolTypeInfoLookup(int type) {
} }
static virStoragePoolOptionsPtr static virStoragePoolOptionsPtr
virStoragePoolOptionsForPoolType(int type) { virStoragePoolOptionsForPoolType(int type)
{
virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type); virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type);
if (backend == NULL) if (backend == NULL)
return NULL; return NULL;
...@@ -272,7 +273,8 @@ virStoragePoolOptionsForPoolType(int type) { ...@@ -272,7 +273,8 @@ virStoragePoolOptionsForPoolType(int type) {
} }
static virStorageVolOptionsPtr static virStorageVolOptionsPtr
virStorageVolOptionsForPoolType(int type) { virStorageVolOptionsForPoolType(int type)
{
virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type); virStoragePoolTypeInfoPtr backend = virStoragePoolTypeInfoLookup(type);
if (backend == NULL) if (backend == NULL)
return NULL; return NULL;
...@@ -281,7 +283,8 @@ virStorageVolOptionsForPoolType(int type) { ...@@ -281,7 +283,8 @@ virStorageVolOptionsForPoolType(int type) {
void void
virStorageVolDefFree(virStorageVolDefPtr def) { virStorageVolDefFree(virStorageVolDefPtr def)
{
int i; int i;
if (!def) if (!def)
...@@ -290,7 +293,7 @@ virStorageVolDefFree(virStorageVolDefPtr def) { ...@@ -290,7 +293,7 @@ virStorageVolDefFree(virStorageVolDefPtr def) {
VIR_FREE(def->name); VIR_FREE(def->name);
VIR_FREE(def->key); 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[i].path);
} }
VIR_FREE(def->source.extents); VIR_FREE(def->source.extents);
...@@ -327,12 +330,12 @@ virStoragePoolSourceClear(virStoragePoolSourcePtr source) ...@@ -327,12 +330,12 @@ virStoragePoolSourceClear(virStoragePoolSourcePtr source)
if (!source) if (!source)
return; 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[i].name);
} }
VIR_FREE(source->hosts); 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].freeExtents);
VIR_FREE(source->devices[i].path); VIR_FREE(source->devices[i].path);
} }
...@@ -363,7 +366,8 @@ virStoragePoolSourceFree(virStoragePoolSourcePtr source) ...@@ -363,7 +366,8 @@ virStoragePoolSourceFree(virStoragePoolSourcePtr source)
} }
void void
virStoragePoolDefFree(virStoragePoolDefPtr def) { virStoragePoolDefFree(virStoragePoolDefPtr def)
{
if (!def) if (!def)
return; return;
...@@ -378,7 +382,8 @@ virStoragePoolDefFree(virStoragePoolDefPtr def) { ...@@ -378,7 +382,8 @@ virStoragePoolDefFree(virStoragePoolDefPtr def) {
void void
virStoragePoolObjFree(virStoragePoolObjPtr obj) { virStoragePoolObjFree(virStoragePoolObjPtr obj)
{
if (!obj) if (!obj)
return; return;
...@@ -395,7 +400,8 @@ virStoragePoolObjFree(virStoragePoolObjPtr obj) { ...@@ -395,7 +400,8 @@ virStoragePoolObjFree(virStoragePoolObjPtr obj) {
VIR_FREE(obj); VIR_FREE(obj);
} }
void virStoragePoolObjListFree(virStoragePoolObjListPtr pools) void
virStoragePoolObjListFree(virStoragePoolObjListPtr pools)
{ {
unsigned int i; unsigned int i;
for (i = 0 ; i < pools->count ; i++) for (i = 0 ; i < pools->count ; i++)
...@@ -412,7 +418,7 @@ virStoragePoolObjRemove(virStoragePoolObjListPtr pools, ...@@ -412,7 +418,7 @@ virStoragePoolObjRemove(virStoragePoolObjListPtr pools,
virStoragePoolObjUnlock(pool); virStoragePoolObjUnlock(pool);
for (i = 0 ; i < pools->count ; i++) { for (i = 0; i < pools->count; i++) {
virStoragePoolObjLock(pools->objs[i]); virStoragePoolObjLock(pools->objs[i]);
if (pools->objs[i] == pool) { if (pools->objs[i] == pool) {
virStoragePoolObjUnlock(pools->objs[i]); virStoragePoolObjUnlock(pools->objs[i]);
...@@ -436,7 +442,8 @@ virStoragePoolObjRemove(virStoragePoolObjListPtr pools, ...@@ -436,7 +442,8 @@ virStoragePoolObjRemove(virStoragePoolObjListPtr pools,
static int static int
virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt, virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt,
virStoragePoolAuthChapPtr auth) { virStoragePoolAuthChapPtr auth)
{
auth->login = virXPathString("string(./auth/@login)", ctxt); auth->login = virXPathString("string(./auth/@login)", ctxt);
if (auth->login == NULL) { if (auth->login == NULL) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
...@@ -456,7 +463,8 @@ virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt, ...@@ -456,7 +463,8 @@ virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt,
static int static int
virStoragePoolDefParseAuthCephx(xmlXPathContextPtr ctxt, virStoragePoolDefParseAuthCephx(xmlXPathContextPtr ctxt,
virStoragePoolAuthCephxPtr auth) { virStoragePoolAuthCephxPtr auth)
{
char *uuid = NULL; char *uuid = NULL;
auth->username = virXPathString("string(./auth/@username)", ctxt); auth->username = virXPathString("string(./auth/@username)", ctxt);
if (auth->username == NULL) { if (auth->username == NULL) {
...@@ -496,7 +504,8 @@ static int ...@@ -496,7 +504,8 @@ static int
virStoragePoolDefParseSource(xmlXPathContextPtr ctxt, virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
virStoragePoolSourcePtr source, virStoragePoolSourcePtr source,
int pool_type, int pool_type,
xmlNodePtr node) { xmlNodePtr node)
{
int ret = -1; int ret = -1;
xmlNodePtr relnode, *nodeset = NULL; xmlNodePtr relnode, *nodeset = NULL;
char *authType = NULL; char *authType = NULL;
...@@ -547,7 +556,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt, ...@@ -547,7 +556,7 @@ virStoragePoolDefParseSource(xmlXPathContextPtr ctxt,
goto cleanup; goto cleanup;
} }
for (i = 0 ; i < source->nhost ; i++) { for (i = 0; i < source->nhost; i++) {
name = virXMLPropString(nodeset[i], "name"); name = virXMLPropString(nodeset[i], "name");
if (name == NULL) { if (name == NULL) {
virReportError(VIR_ERR_XML_ERROR, virReportError(VIR_ERR_XML_ERROR,
...@@ -725,11 +734,13 @@ cleanup: ...@@ -725,11 +734,13 @@ cleanup:
return ret; return ret;
} }
static int static int
virStorageDefParsePerms(xmlXPathContextPtr ctxt, virStorageDefParsePerms(xmlXPathContextPtr ctxt,
virStoragePermsPtr perms, virStoragePermsPtr perms,
const char *permxpath, const char *permxpath,
int defaultmode) { int defaultmode)
{
char *mode; char *mode;
long v; long v;
int ret = -1; int ret = -1;
...@@ -797,7 +808,8 @@ error: ...@@ -797,7 +808,8 @@ error:
} }
static virStoragePoolDefPtr static virStoragePoolDefPtr
virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) { virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
{
virStoragePoolOptionsPtr options; virStoragePoolOptionsPtr options;
virStoragePoolDefPtr ret; virStoragePoolDefPtr ret;
xmlNodePtr source_node; xmlNodePtr source_node;
...@@ -944,7 +956,7 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) { ...@@ -944,7 +956,7 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) {
return ret; return ret;
cleanup: cleanup:
VIR_FREE(uuid); VIR_FREE(uuid);
xmlFree(type); xmlFree(type);
virStoragePoolDefFree(ret); virStoragePoolDefFree(ret);
...@@ -953,7 +965,8 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) { ...@@ -953,7 +965,8 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) {
virStoragePoolDefPtr virStoragePoolDefPtr
virStoragePoolDefParseNode(xmlDocPtr xml, virStoragePoolDefParseNode(xmlDocPtr xml,
xmlNodePtr root) { xmlNodePtr root)
{
xmlXPathContextPtr ctxt = NULL; xmlXPathContextPtr ctxt = NULL;
virStoragePoolDefPtr def = NULL; virStoragePoolDefPtr def = NULL;
...@@ -978,7 +991,8 @@ cleanup: ...@@ -978,7 +991,8 @@ cleanup:
static virStoragePoolDefPtr static virStoragePoolDefPtr
virStoragePoolDefParse(const char *xmlStr, virStoragePoolDefParse(const char *xmlStr,
const char *filename) { const char *filename)
{
virStoragePoolDefPtr ret = NULL; virStoragePoolDefPtr ret = NULL;
xmlDocPtr xml; xmlDocPtr xml;
...@@ -1022,25 +1036,27 @@ virStoragePoolSourceFormat(virBufferPtr buf, ...@@ -1022,25 +1036,27 @@ virStoragePoolSourceFormat(virBufferPtr buf,
if ((options->flags & VIR_STORAGE_POOL_SOURCE_DEVICE) && if ((options->flags & VIR_STORAGE_POOL_SOURCE_DEVICE) &&
src->ndevice) { src->ndevice) {
for (i = 0 ; i < src->ndevice ; i++) { for (i = 0; i < src->ndevice; i++) {
if (src->devices[i].nfreeExtent) { if (src->devices[i].nfreeExtent) {
virBufferAsprintf(buf," <device path='%s'>\n", virBufferAsprintf(buf," <device path='%s'>\n",
src->devices[i].path); 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", virBufferAsprintf(buf, " <freeExtent start='%llu' end='%llu'/>\n",
src->devices[i].freeExtents[j].start, src->devices[i].freeExtents[j].start,
src->devices[i].freeExtents[j].end); src->devices[i].freeExtents[j].end);
} }
virBufferAddLit(buf," </device>\n"); virBufferAddLit(buf," </device>\n");
} } else {
else
virBufferAsprintf(buf, " <device path='%s'/>\n", virBufferAsprintf(buf, " <device path='%s'/>\n",
src->devices[i].path); src->devices[i].path);
}
} }
} }
if ((options->flags & VIR_STORAGE_POOL_SOURCE_DIR) && if ((options->flags & VIR_STORAGE_POOL_SOURCE_DIR) &&
src->dir) src->dir)
virBufferAsprintf(buf," <dir path='%s'/>\n", src->dir); virBufferAsprintf(buf," <dir path='%s'/>\n", src->dir);
if ((options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER)) { if ((options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER)) {
if (src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST || if (src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_FC_HOST ||
src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_SCSI_HOST) src->adapter.type == VIR_STORAGE_POOL_SOURCE_ADAPTER_TYPE_SCSI_HOST)
...@@ -1058,6 +1074,7 @@ virStoragePoolSourceFormat(virBufferPtr buf, ...@@ -1058,6 +1074,7 @@ virStoragePoolSourceFormat(virBufferPtr buf,
virBufferAsprintf(buf," name='%s'/>\n", src->adapter.data.name); virBufferAsprintf(buf," name='%s'/>\n", src->adapter.data.name);
} }
} }
if ((options->flags & VIR_STORAGE_POOL_SOURCE_NAME) && if ((options->flags & VIR_STORAGE_POOL_SOURCE_NAME) &&
src->name) src->name)
virBufferAsprintf(buf," <name>%s</name>\n", src->name); virBufferAsprintf(buf," <name>%s</name>\n", src->name);
...@@ -1080,7 +1097,6 @@ virStoragePoolSourceFormat(virBufferPtr buf, ...@@ -1080,7 +1097,6 @@ virStoragePoolSourceFormat(virBufferPtr buf,
virBufferAsprintf(buf," <format type='%s'/>\n", format); virBufferAsprintf(buf," <format type='%s'/>\n", format);
} }
if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP) if (src->authType == VIR_STORAGE_POOL_AUTH_CHAP)
virBufferAsprintf(buf," <auth type='chap' login='%s' passwd='%s'/>\n", virBufferAsprintf(buf," <auth type='chap' login='%s' passwd='%s'/>\n",
src->auth.chap.login, src->auth.chap.login,
...@@ -1119,7 +1135,8 @@ virStoragePoolSourceFormat(virBufferPtr buf, ...@@ -1119,7 +1135,8 @@ virStoragePoolSourceFormat(virBufferPtr buf,
char * char *
virStoragePoolDefFormat(virStoragePoolDefPtr def) { virStoragePoolDefFormat(virStoragePoolDefPtr def)
{
virStoragePoolOptionsPtr options; virStoragePoolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER; virBuffer buf = VIR_BUFFER_INITIALIZER;
const char *type; const char *type;
...@@ -1151,9 +1168,10 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) { ...@@ -1151,9 +1168,10 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) {
if (virStoragePoolSourceFormat(&buf, options, &def->source) < 0) if (virStoragePoolSourceFormat(&buf, options, &def->source) < 0)
goto cleanup; goto cleanup;
/* RBD and Sheepdog devices are not local block devs nor files, so it doesn't /* RBD and Sheepdog devices are not local block devs nor files, so it
* have a target */ * doesn't have a target */
if (def->type != VIR_STORAGE_POOL_RBD && def->type != VIR_STORAGE_POOL_SHEEPDOG) { if (def->type != VIR_STORAGE_POOL_RBD &&
def->type != VIR_STORAGE_POOL_SHEEPDOG) {
virBufferAddLit(&buf," <target>\n"); virBufferAddLit(&buf," <target>\n");
if (def->target.path) if (def->target.path)
...@@ -1181,9 +1199,9 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) { ...@@ -1181,9 +1199,9 @@ virStoragePoolDefFormat(virStoragePoolDefPtr def) {
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
no_memory: no_memory:
virReportOOMError(); virReportOOMError();
cleanup: cleanup:
virBufferFreeAndReset(&buf); virBufferFreeAndReset(&buf);
return NULL; return NULL;
} }
...@@ -1209,7 +1227,8 @@ virStorageSize(const char *unit, ...@@ -1209,7 +1227,8 @@ virStorageSize(const char *unit,
static virStorageVolDefPtr static virStorageVolDefPtr
virStorageVolDefParseXML(virStoragePoolDefPtr pool, virStorageVolDefParseXML(virStoragePoolDefPtr pool,
xmlXPathContextPtr ctxt) { xmlXPathContextPtr ctxt)
{
virStorageVolDefPtr ret; virStorageVolDefPtr ret;
virStorageVolOptionsPtr options; virStorageVolOptionsPtr options;
char *allocation = NULL; char *allocation = NULL;
...@@ -1234,7 +1253,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1234,7 +1253,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
} }
/* Auto-generated so deliberately ignore */ /* Auto-generated so deliberately ignore */
/*ret->key = virXPathString("string(./key)", ctxt);*/ /* ret->key = virXPathString("string(./key)", ctxt); */
capacity = virXPathString("string(./capacity)", ctxt); capacity = virXPathString("string(./capacity)", ctxt);
unit = virXPathString("string(./capacity/@unit)", ctxt); unit = virXPathString("string(./capacity/@unit)", ctxt);
...@@ -1289,8 +1308,6 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1289,8 +1308,6 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
goto cleanup; goto cleanup;
} }
ret->backingStore.path = virXPathString("string(./backingStore/path)", ctxt); ret->backingStore.path = virXPathString("string(./backingStore/path)", ctxt);
if (options->formatFromString) { if (options->formatFromString) {
char *format = virXPathString("string(./backingStore/format/@type)", ctxt); char *format = virXPathString("string(./backingStore/format/@type)", ctxt);
...@@ -1315,7 +1332,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1315,7 +1332,7 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
return ret; return ret;
cleanup: cleanup:
VIR_FREE(allocation); VIR_FREE(allocation);
VIR_FREE(capacity); VIR_FREE(capacity);
VIR_FREE(unit); VIR_FREE(unit);
...@@ -1326,7 +1343,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1326,7 +1343,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
virStorageVolDefPtr virStorageVolDefPtr
virStorageVolDefParseNode(virStoragePoolDefPtr pool, virStorageVolDefParseNode(virStoragePoolDefPtr pool,
xmlDocPtr xml, xmlDocPtr xml,
xmlNodePtr root) { xmlNodePtr root)
{
xmlXPathContextPtr ctxt = NULL; xmlXPathContextPtr ctxt = NULL;
virStorageVolDefPtr def = NULL; virStorageVolDefPtr def = NULL;
...@@ -1352,7 +1370,8 @@ cleanup: ...@@ -1352,7 +1370,8 @@ cleanup:
static virStorageVolDefPtr static virStorageVolDefPtr
virStorageVolDefParse(virStoragePoolDefPtr pool, virStorageVolDefParse(virStoragePoolDefPtr pool,
const char *xmlStr, const char *xmlStr,
const char *filename) { const char *filename)
{
virStorageVolDefPtr ret = NULL; virStorageVolDefPtr ret = NULL;
xmlDocPtr xml; xmlDocPtr xml;
...@@ -1450,7 +1469,8 @@ virStorageVolTargetDefFormat(virStorageVolOptionsPtr options, ...@@ -1450,7 +1469,8 @@ virStorageVolTargetDefFormat(virStorageVolOptionsPtr options,
char * char *
virStorageVolDefFormat(virStoragePoolDefPtr pool, virStorageVolDefFormat(virStoragePoolDefPtr pool,
virStorageVolDefPtr def) { virStorageVolDefPtr def)
{
virStorageVolOptionsPtr options; virStorageVolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER; virBuffer buf = VIR_BUFFER_INITIALIZER;
...@@ -1466,7 +1486,7 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, ...@@ -1466,7 +1486,7 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool,
if (def->source.nextent) { if (def->source.nextent) {
int i; int i;
const char *thispath = NULL; const char *thispath = NULL;
for (i = 0 ; i < def->source.nextent ; i++) { for (i = 0; i < def->source.nextent; i++) {
if (thispath == NULL || if (thispath == NULL ||
STRNEQ(thispath, def->source.extents[i].path)) { STRNEQ(thispath, def->source.extents[i].path)) {
if (thispath != NULL) if (thispath != NULL)
...@@ -1508,9 +1528,9 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, ...@@ -1508,9 +1528,9 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool,
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
no_memory: no_memory:
virReportOOMError(); virReportOOMError();
cleanup: cleanup:
virBufferFreeAndReset(&buf); virBufferFreeAndReset(&buf);
return NULL; return NULL;
} }
...@@ -1518,10 +1538,11 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool, ...@@ -1518,10 +1538,11 @@ virStorageVolDefFormat(virStoragePoolDefPtr pool,
virStoragePoolObjPtr virStoragePoolObjPtr
virStoragePoolObjFindByUUID(virStoragePoolObjListPtr pools, virStoragePoolObjFindByUUID(virStoragePoolObjListPtr pools,
const unsigned char *uuid) { const unsigned char *uuid)
{
unsigned int i; unsigned int i;
for (i = 0 ; i < pools->count ; i++) { for (i = 0; i < pools->count; i++) {
virStoragePoolObjLock(pools->objs[i]); virStoragePoolObjLock(pools->objs[i]);
if (!memcmp(pools->objs[i]->def->uuid, uuid, VIR_UUID_BUFLEN)) if (!memcmp(pools->objs[i]->def->uuid, uuid, VIR_UUID_BUFLEN))
return pools->objs[i]; return pools->objs[i];
...@@ -1533,7 +1554,8 @@ virStoragePoolObjFindByUUID(virStoragePoolObjListPtr pools, ...@@ -1533,7 +1554,8 @@ virStoragePoolObjFindByUUID(virStoragePoolObjListPtr pools,
virStoragePoolObjPtr virStoragePoolObjPtr
virStoragePoolObjFindByName(virStoragePoolObjListPtr pools, virStoragePoolObjFindByName(virStoragePoolObjListPtr pools,
const char *name) { const char *name)
{
unsigned int i; unsigned int i;
for (i = 0 ; i < pools->count ; i++) { for (i = 0 ; i < pools->count ; i++) {
...@@ -1548,7 +1570,8 @@ virStoragePoolObjFindByName(virStoragePoolObjListPtr pools, ...@@ -1548,7 +1570,8 @@ virStoragePoolObjFindByName(virStoragePoolObjListPtr pools,
virStoragePoolObjPtr virStoragePoolObjPtr
virStoragePoolSourceFindDuplicateDevices(virStoragePoolObjPtr pool, virStoragePoolSourceFindDuplicateDevices(virStoragePoolObjPtr pool,
virStoragePoolDefPtr def) { virStoragePoolDefPtr def)
{
unsigned int i, j; unsigned int i, j;
for (i = 0; i < pool->def->source.ndevice; i++) { for (i = 0; i < pool->def->source.ndevice; i++) {
...@@ -1565,7 +1588,7 @@ void ...@@ -1565,7 +1588,7 @@ void
virStoragePoolObjClearVols(virStoragePoolObjPtr pool) virStoragePoolObjClearVols(virStoragePoolObjPtr pool)
{ {
unsigned int i; unsigned int i;
for (i = 0 ; i < pool->volumes.count ; i++) for (i = 0; i < pool->volumes.count; i++)
virStorageVolDefFree(pool->volumes.objs[i]); virStorageVolDefFree(pool->volumes.objs[i]);
VIR_FREE(pool->volumes.objs); VIR_FREE(pool->volumes.objs);
...@@ -1574,10 +1597,11 @@ virStoragePoolObjClearVols(virStoragePoolObjPtr pool) ...@@ -1574,10 +1597,11 @@ virStoragePoolObjClearVols(virStoragePoolObjPtr pool)
virStorageVolDefPtr virStorageVolDefPtr
virStorageVolDefFindByKey(virStoragePoolObjPtr pool, virStorageVolDefFindByKey(virStoragePoolObjPtr pool,
const char *key) { const char *key)
{
unsigned int i; 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)) if (STREQ(pool->volumes.objs[i]->key, key))
return pool->volumes.objs[i]; return pool->volumes.objs[i];
...@@ -1586,7 +1610,8 @@ virStorageVolDefFindByKey(virStoragePoolObjPtr pool, ...@@ -1586,7 +1610,8 @@ virStorageVolDefFindByKey(virStoragePoolObjPtr pool,
virStorageVolDefPtr virStorageVolDefPtr
virStorageVolDefFindByPath(virStoragePoolObjPtr pool, virStorageVolDefFindByPath(virStoragePoolObjPtr pool,
const char *path) { const char *path)
{
unsigned int i; unsigned int i;
for (i = 0 ; i < pool->volumes.count ; i++) for (i = 0 ; i < pool->volumes.count ; i++)
...@@ -1598,10 +1623,11 @@ virStorageVolDefFindByPath(virStoragePoolObjPtr pool, ...@@ -1598,10 +1623,11 @@ virStorageVolDefFindByPath(virStoragePoolObjPtr pool,
virStorageVolDefPtr virStorageVolDefPtr
virStorageVolDefFindByName(virStoragePoolObjPtr pool, virStorageVolDefFindByName(virStoragePoolObjPtr pool,
const char *name) { const char *name)
{
unsigned int i; 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)) if (STREQ(pool->volumes.objs[i]->name, name))
return pool->volumes.objs[i]; return pool->volumes.objs[i];
...@@ -1610,7 +1636,8 @@ virStorageVolDefFindByName(virStoragePoolObjPtr pool, ...@@ -1610,7 +1636,8 @@ virStorageVolDefFindByName(virStoragePoolObjPtr pool,
virStoragePoolObjPtr virStoragePoolObjPtr
virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools, virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools,
virStoragePoolDefPtr def) { virStoragePoolDefPtr def)
{
virStoragePoolObjPtr pool; virStoragePoolObjPtr pool;
if ((pool = virStoragePoolObjFindByName(pools, def->name))) { if ((pool = virStoragePoolObjFindByName(pools, def->name))) {
...@@ -1655,7 +1682,8 @@ static virStoragePoolObjPtr ...@@ -1655,7 +1682,8 @@ static virStoragePoolObjPtr
virStoragePoolObjLoad(virStoragePoolObjListPtr pools, virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
const char *file, const char *file,
const char *path, const char *path,
const char *autostartLink) { const char *autostartLink)
{
virStoragePoolDefPtr def; virStoragePoolDefPtr def;
virStoragePoolObjPtr pool; virStoragePoolObjPtr pool;
...@@ -1701,7 +1729,8 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools, ...@@ -1701,7 +1729,8 @@ virStoragePoolObjLoad(virStoragePoolObjListPtr pools,
int int
virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools, virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools,
const char *configDir, const char *configDir,
const char *autostartDir) { const char *autostartDir)
{
DIR *dir; DIR *dir;
struct dirent *entry; struct dirent *entry;
...@@ -1792,7 +1821,8 @@ virStoragePoolObjSaveDef(virStorageDriverStatePtr driver, ...@@ -1792,7 +1821,8 @@ virStoragePoolObjSaveDef(virStorageDriverStatePtr driver,
} }
int int
virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool) { virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool)
{
if (!pool->configFile) { if (!pool->configFile) {
virReportError(VIR_ERR_INTERNAL_ERROR, virReportError(VIR_ERR_INTERNAL_ERROR,
_("no config file for %s"), pool->def->name); _("no config file for %s"), pool->def->name);
...@@ -1814,7 +1844,7 @@ virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list) ...@@ -1814,7 +1844,7 @@ virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list)
{ {
virStoragePoolSourcePtr source; virStoragePoolSourcePtr source;
if (VIR_REALLOC_N(list->sources, list->nsources+1) < 0) { if (VIR_REALLOC_N(list->sources, list->nsources + 1) < 0) {
virReportOOMError(); virReportOOMError();
return NULL; return NULL;
} }
...@@ -1825,7 +1855,8 @@ virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list) ...@@ -1825,7 +1855,8 @@ virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list)
return source; return source;
} }
char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) char *
virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def)
{ {
virStoragePoolOptionsPtr options; virStoragePoolOptionsPtr options;
virBuffer buf = VIR_BUFFER_INITIALIZER; virBuffer buf = VIR_BUFFER_INITIALIZER;
...@@ -1856,9 +1887,9 @@ char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) ...@@ -1856,9 +1887,9 @@ char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def)
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
no_memory: no_memory:
virReportOOMError(); virReportOOMError();
cleanup: cleanup:
virBufferFreeAndReset(&buf); virBufferFreeAndReset(&buf);
return NULL; return NULL;
} }
...@@ -1874,9 +1905,10 @@ char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) ...@@ -1874,9 +1905,10 @@ char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def)
* 0 if pool is new * 0 if pool is new
* 1 if pool is a duplicate * 1 if pool is a duplicate
*/ */
int virStoragePoolObjIsDuplicate(virStoragePoolObjListPtr pools, int
virStoragePoolDefPtr def, virStoragePoolObjIsDuplicate(virStoragePoolObjListPtr pools,
unsigned int check_active) virStoragePoolDefPtr def,
unsigned int check_active)
{ {
int ret = -1; int ret = -1;
int dupPool = 0; int dupPool = 0;
...@@ -1926,8 +1958,9 @@ cleanup: ...@@ -1926,8 +1958,9 @@ cleanup:
return ret; return ret;
} }
int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools, int
virStoragePoolDefPtr def) virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
virStoragePoolDefPtr def)
{ {
int i; int i;
int ret = 1; int ret = 1;
...@@ -1973,7 +2006,6 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools, ...@@ -1973,7 +2006,6 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
} }
break; break;
case VIR_STORAGE_POOL_ISCSI: case VIR_STORAGE_POOL_ISCSI:
{
matchpool = virStoragePoolSourceFindDuplicateDevices(pool, def); matchpool = virStoragePoolSourceFindDuplicateDevices(pool, def);
if (matchpool) { if (matchpool) {
if (matchpool->def->source.nhost == 1 && def->source.nhost == 1) { if (matchpool->def->source.nhost == 1 && def->source.nhost == 1) {
...@@ -1989,7 +2021,6 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools, ...@@ -1989,7 +2021,6 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
matchpool = NULL; matchpool = NULL;
} }
break; break;
}
case VIR_STORAGE_POOL_FS: case VIR_STORAGE_POOL_FS:
case VIR_STORAGE_POOL_LOGICAL: case VIR_STORAGE_POOL_LOGICAL:
case VIR_STORAGE_POOL_DISK: case VIR_STORAGE_POOL_DISK:
...@@ -2013,12 +2044,14 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools, ...@@ -2013,12 +2044,14 @@ int virStoragePoolSourceFindDuplicate(virStoragePoolObjListPtr pools,
return ret; return ret;
} }
void virStoragePoolObjLock(virStoragePoolObjPtr obj) void
virStoragePoolObjLock(virStoragePoolObjPtr obj)
{ {
virMutexLock(&obj->lock); virMutexLock(&obj->lock);
} }
void virStoragePoolObjUnlock(virStoragePoolObjPtr obj) void
virStoragePoolObjUnlock(virStoragePoolObjPtr obj)
{ {
virMutexUnlock(&obj->lock); virMutexUnlock(&obj->lock);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册