The virConnectPtr is no longer required for error reporting since that is recorded in a thread local. Remove use of virConnectPtr from all APIs in storage_conf.{h,c} and storage_encryption_conf.{h,c} and update all callers to match --- src/conf/domain_conf.c | 4 +- src/conf/storage_conf.c | 257 ++++++++++++++------------------- src/conf/storage_conf.h | 51 +++----- src/conf/storage_encryption_conf.c | 45 +++--- src/conf/storage_encryption_conf.h | 7 +- src/storage/storage_backend.c | 77 +++++----- src/storage/storage_backend.h | 18 +-- src/storage/storage_backend_disk.c | 74 +++++------ src/storage/storage_backend_fs.c | 59 ++++---- src/storage/storage_backend_iscsi.c | 109 ++++++-------- src/storage/storage_backend_logical.c | 49 +++---- src/storage/storage_backend_mpath.c | 30 ++--- src/storage/storage_backend_scsi.c | 47 +++---- src/storage/storage_backend_scsi.h | 3 +- src/storage/storage_driver.c | 164 +++++++++++----------- src/test/test_driver.c | 37 +++--- src/vbox/vbox_tmpl.c | 4 +- tests/storagepoolxml2xmltest.c | 4 +- tests/storagevolxml2xmltest.c | 6 +- 19 files changed, 465 insertions(+), 580 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f9d7b13..101be4e 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -1297,7 +1297,7 @@ virDomainDiskDefParseXML(xmlNodePtr node, devaddr = virXMLPropString(cur, "devaddr"); } else if (encryption == NULL && xmlStrEqual(cur->name, BAD_CAST "encryption")) { - encryption = virStorageEncryptionParseNode(NULL, node->doc, + encryption = virStorageEncryptionParseNode(node->doc, cur); if (encryption == NULL) goto error; @@ -4581,7 +4581,7 @@ virDomainDiskDefFormat(virBufferPtr buf, virBufferEscapeString(buf, " <serial>%s</serial>\n", def->serial); if (def->encryption != NULL && - virStorageEncryptionFormat(NULL, buf, def->encryption) < 0) + virStorageEncryptionFormat(buf, def->encryption) < 0) return -1; if (virDomainDeviceInfoFormat(buf, &def->info, flags) < 0) diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c index b80fef0..eb1c9d9 100644 --- a/src/conf/storage_conf.c +++ b/src/conf/storage_conf.c @@ -46,9 +46,6 @@ #define VIR_FROM_THIS VIR_FROM_STORAGE -#define virStorageError(conn, code, fmt...) \ - virReportErrorHelper(conn, VIR_FROM_STORAGE, code, __FILE__,\ - __FUNCTION__, __LINE__, fmt) VIR_ENUM_IMPL(virStoragePool, VIR_STORAGE_POOL_LAST, @@ -223,7 +220,7 @@ virStoragePoolTypeInfoLookup(int type) { if (poolTypeInfo[i].poolType == type) return &poolTypeInfo[i]; - virStorageReportError(NULL, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("missing backend for pool type %d"), type); return NULL; } @@ -366,19 +363,18 @@ virStoragePoolObjRemove(virStoragePoolObjListPtr pools, static int -virStoragePoolDefParseAuthChap(virConnectPtr conn, - xmlXPathContextPtr ctxt, +virStoragePoolDefParseAuthChap(xmlXPathContextPtr ctxt, virStoragePoolAuthChapPtr auth) { auth->login = virXPathString("string(./auth/@login)", ctxt); if (auth->login == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing auth host attribute")); return -1; } auth->passwd = virXPathString("string(./auth/@passwd)", ctxt); if (auth->passwd == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing auth passwd attribute")); return -1; } @@ -387,8 +383,7 @@ virStoragePoolDefParseAuthChap(virConnectPtr conn, } static int -virStoragePoolDefParseSource(virConnectPtr conn, - xmlXPathContextPtr ctxt, +virStoragePoolDefParseSource(xmlXPathContextPtr ctxt, virStoragePoolSourcePtr source, int pool_type, xmlNodePtr node) { @@ -415,7 +410,7 @@ virStoragePoolDefParseSource(virConnectPtr conn, source->format = options->formatFromString(format); if (source->format < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown pool format type %s"), format); VIR_FREE(format); goto cleanup; @@ -438,7 +433,7 @@ virStoragePoolDefParseSource(virConnectPtr conn, xmlChar *path = xmlGetProp(nodeset[i], BAD_CAST "path"); if (path == NULL) { VIR_FREE(nodeset); - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing storage pool source device path")); goto cleanup; } @@ -457,7 +452,7 @@ virStoragePoolDefParseSource(virConnectPtr conn, if (STREQ(authType, "chap")) { source->authType = VIR_STORAGE_POOL_AUTH_CHAP; } else { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown auth type '%s'"), (const char *)authType); goto cleanup; @@ -465,7 +460,7 @@ virStoragePoolDefParseSource(virConnectPtr conn, } if (source->authType == VIR_STORAGE_POOL_AUTH_CHAP) { - if (virStoragePoolDefParseAuthChap(conn, ctxt, &source->auth.chap) < 0) + if (virStoragePoolDefParseAuthChap(ctxt, &source->auth.chap) < 0) goto cleanup; } @@ -479,8 +474,7 @@ cleanup: } virStoragePoolSourcePtr -virStoragePoolDefParseSourceString(virConnectPtr conn, - const char *srcSpec, +virStoragePoolDefParseSourceString(const char *srcSpec, int pool_type) { xmlDocPtr doc = NULL; @@ -493,7 +487,7 @@ virStoragePoolDefParseSourceString(virConnectPtr conn, XML_PARSE_NOERROR | XML_PARSE_NOWARNING); if (doc == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("bad <source> spec")); goto cleanup; } @@ -511,12 +505,12 @@ virStoragePoolDefParseSourceString(virConnectPtr conn, node = virXPathNode("/source", xpath_ctxt); if (!node) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("root element was not source")); goto cleanup; } - if (virStoragePoolDefParseSource(conn, xpath_ctxt, def, pool_type, + if (virStoragePoolDefParseSource(xpath_ctxt, def, pool_type, node) < 0) goto cleanup; @@ -531,8 +525,7 @@ cleanup: return ret; } static int -virStorageDefParsePerms(virConnectPtr conn, - xmlXPathContextPtr ctxt, +virStorageDefParsePerms(xmlXPathContextPtr ctxt, virStoragePermsPtr perms, const char *permxpath, int defaultmode) { @@ -563,7 +556,7 @@ virStorageDefParsePerms(virConnectPtr conn, perms->mode = strtol(mode, &end, 8); if (*end || perms->mode < 0 || perms->mode > 0777) { VIR_FREE(mode); - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("malformed octal mode")); goto error; } @@ -574,7 +567,7 @@ virStorageDefParsePerms(virConnectPtr conn, perms->uid = getuid(); } else { if (virXPathLong("number(./owner)", ctxt, &v) < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("malformed owner element")); goto error; } @@ -585,7 +578,7 @@ virStorageDefParsePerms(virConnectPtr conn, perms->gid = getgid(); } else { if (virXPathLong("number(./group)", ctxt, &v) < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("malformed group element")); goto error; } @@ -602,8 +595,7 @@ error: } static virStoragePoolDefPtr -virStoragePoolDefParseXML(virConnectPtr conn, - xmlXPathContextPtr ctxt) { +virStoragePoolDefParseXML(xmlXPathContextPtr ctxt) { virStoragePoolOptionsPtr options; virStoragePoolDefPtr ret; xmlNodePtr source_node; @@ -617,7 +609,7 @@ virStoragePoolDefParseXML(virConnectPtr conn, type = virXPathString("string(./@type)", ctxt); if ((ret->type = virStoragePoolTypeFromString((const char *)type)) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown storage pool type %s"), (const char*)type); goto cleanup; } @@ -631,7 +623,7 @@ virStoragePoolDefParseXML(virConnectPtr conn, source_node = virXPathNode("./source", ctxt); if (source_node) { - if (virStoragePoolDefParseSource(conn, ctxt, &ret->source, ret->type, + if (virStoragePoolDefParseSource(ctxt, &ret->source, ret->type, source_node) < 0) goto cleanup; } @@ -641,7 +633,7 @@ virStoragePoolDefParseXML(virConnectPtr conn, options->flags & VIR_STORAGE_POOL_SOURCE_NAME) ret->name = ret->source.name; if (ret->name == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing pool source name element")); goto cleanup; } @@ -649,13 +641,13 @@ virStoragePoolDefParseXML(virConnectPtr conn, uuid = virXPathString("string(./uuid)", ctxt); if (uuid == NULL) { if (virUUIDGenerate(ret->uuid) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unable to generate uuid")); goto cleanup; } } else { if (virUUIDParse(uuid, ret->uuid) < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("malformed uuid element")); goto cleanup; } @@ -664,7 +656,7 @@ virStoragePoolDefParseXML(virConnectPtr conn, if (options->flags & VIR_STORAGE_POOL_SOURCE_HOST) { if (!ret->source.host.name) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing storage pool source host name")); goto cleanup; @@ -673,7 +665,7 @@ virStoragePoolDefParseXML(virConnectPtr conn, if (options->flags & VIR_STORAGE_POOL_SOURCE_DIR) { if (!ret->source.dir) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing storage pool source path")); goto cleanup; } @@ -691,19 +683,19 @@ virStoragePoolDefParseXML(virConnectPtr conn, if (options->flags & VIR_STORAGE_POOL_SOURCE_ADAPTER) { if (!ret->source.adapter) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing storage pool source adapter name")); goto cleanup; } } if ((ret->target.path = virXPathString("string(./target/path)", ctxt)) == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing storage pool target path")); goto cleanup; } - if (virStorageDefParsePerms(conn, ctxt, &ret->target.perms, + if (virStorageDefParsePerms(ctxt, &ret->target.perms, "./target/permissions", 0700) < 0) goto cleanup; @@ -723,13 +715,10 @@ catchXMLError (void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx; if (ctxt) { - virConnectPtr conn = ctxt->_private; - - if (conn && - conn->err.code == VIR_ERR_NONE && + if (virGetLastError() == NULL && ctxt->lastError.level == XML_ERR_FATAL && ctxt->lastError.message != NULL) { - virStorageReportError (conn, VIR_ERR_XML_DETAIL, + virStorageReportError (VIR_ERR_XML_DETAIL, _("at line %d: %s"), ctxt->lastError.line, ctxt->lastError.message); @@ -738,15 +727,14 @@ catchXMLError (void *ctx, const char *msg ATTRIBUTE_UNUSED, ...) } virStoragePoolDefPtr -virStoragePoolDefParseNode(virConnectPtr conn, - xmlDocPtr xml, +virStoragePoolDefParseNode(xmlDocPtr xml, xmlNodePtr root) { xmlXPathContextPtr ctxt = NULL; virStoragePoolDefPtr def = NULL; if (STRNEQ((const char *)root->name, "pool")) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, - "%s", _("unknown root element for storage pool")); + virStorageReportError(VIR_ERR_XML_ERROR, + "%s", _("unknown root element for storage pool")); goto cleanup; } @@ -757,15 +745,14 @@ virStoragePoolDefParseNode(virConnectPtr conn, } ctxt->node = root; - def = virStoragePoolDefParseXML(conn, ctxt); + def = virStoragePoolDefParseXML(ctxt); cleanup: xmlXPathFreeContext(ctxt); return def; } static virStoragePoolDefPtr -virStoragePoolDefParse(virConnectPtr conn, - const char *xmlStr, +virStoragePoolDefParse(const char *xmlStr, const char *filename) { virStoragePoolDefPtr ret = NULL; xmlParserCtxtPtr pctxt; @@ -777,9 +764,7 @@ virStoragePoolDefParse(virConnectPtr conn, if (!pctxt || !pctxt->sax) goto cleanup; pctxt->sax->error = catchXMLError; - pctxt->_private = conn; - if (conn) virResetError (&conn->err); if (filename) { xml = xmlCtxtReadFile (pctxt, filename, NULL, XML_PARSE_NOENT | XML_PARSE_NONET | @@ -792,20 +777,20 @@ virStoragePoolDefParse(virConnectPtr conn, } if (!xml) { - if (conn && conn->err.code == VIR_ERR_NONE) - virStorageReportError(conn, VIR_ERR_XML_ERROR, - "%s",_("failed to parse xml document")); + if (virGetLastError() == NULL) + virStorageReportError(VIR_ERR_XML_ERROR, + "%s",_("failed to parse xml document")); goto cleanup; } node = xmlDocGetRootElement(xml); if (node == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing root element")); goto cleanup; } - ret = virStoragePoolDefParseNode(conn, xml, node); + ret = virStoragePoolDefParseNode(xml, node); xmlFreeParserCtxt (pctxt); xmlFreeDoc(xml); @@ -819,22 +804,19 @@ virStoragePoolDefParse(virConnectPtr conn, } virStoragePoolDefPtr -virStoragePoolDefParseString(virConnectPtr conn, - const char *xmlStr) +virStoragePoolDefParseString(const char *xmlStr) { - return virStoragePoolDefParse(conn, xmlStr, NULL); + return virStoragePoolDefParse(xmlStr, NULL); } virStoragePoolDefPtr -virStoragePoolDefParseFile(virConnectPtr conn, - const char *filename) +virStoragePoolDefParseFile(const char *filename) { - return virStoragePoolDefParse(conn, NULL, filename); + return virStoragePoolDefParse(NULL, filename); } static int -virStoragePoolSourceFormat(virConnectPtr conn, - virBufferPtr buf, +virStoragePoolSourceFormat(virBufferPtr buf, virStoragePoolOptionsPtr options, virStoragePoolSourcePtr src) { @@ -876,7 +858,7 @@ virStoragePoolSourceFormat(virConnectPtr conn, if (options->formatToString) { const char *format = (options->formatToString)(src->format); if (!format) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown pool format number %d"), src->format); return -1; @@ -896,8 +878,7 @@ virStoragePoolSourceFormat(virConnectPtr conn, char * -virStoragePoolDefFormat(virConnectPtr conn, - virStoragePoolDefPtr def) { +virStoragePoolDefFormat(virStoragePoolDefPtr def) { virStoragePoolOptionsPtr options; virBuffer buf = VIR_BUFFER_INITIALIZER; const char *type; @@ -909,7 +890,7 @@ virStoragePoolDefFormat(virConnectPtr conn, type = virStoragePoolTypeToString(def->type); if (!type) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected pool type")); goto cleanup; } @@ -926,7 +907,7 @@ virStoragePoolDefFormat(virConnectPtr conn, virBufferVSprintf(&buf," <available>%llu</available>\n", def->available); - if (virStoragePoolSourceFormat(conn, &buf, options, &def->source) < 0) + if (virStoragePoolSourceFormat(&buf, options, &def->source) < 0) goto cleanup; virBufferAddLit(&buf," <target>\n"); @@ -964,8 +945,7 @@ virStoragePoolDefFormat(virConnectPtr conn, static int -virStorageSize(virConnectPtr conn, - const char *unit, +virStorageSize(const char *unit, const char *val, unsigned long long *ret) { unsigned long long mult; @@ -1007,19 +987,19 @@ virStorageSize(virConnectPtr conn, break; default: - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown size units '%s'"), unit); return -1; } } if (virStrToLong_ull (val, &end, 10, ret) < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("malformed capacity element")); return -1; } if (*ret > (ULLONG_MAX / mult)) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("capacity element value too large")); return -1; } @@ -1030,8 +1010,7 @@ virStorageSize(virConnectPtr conn, } static virStorageVolDefPtr -virStorageVolDefParseXML(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefParseXML(virStoragePoolDefPtr pool, xmlXPathContextPtr ctxt) { virStorageVolDefPtr ret; virStorageVolOptionsPtr options; @@ -1051,7 +1030,7 @@ virStorageVolDefParseXML(virConnectPtr conn, ret->name = virXPathString("string(./name)", ctxt); if (ret->name == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing volume name element")); goto cleanup; } @@ -1062,11 +1041,11 @@ virStorageVolDefParseXML(virConnectPtr conn, capacity = virXPathString("string(./capacity)", ctxt); unit = virXPathString("string(./capacity/@unit)", ctxt); if (capacity == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing capacity element")); goto cleanup; } - if (virStorageSize(conn, unit, capacity, &ret->capacity) < 0) + if (virStorageSize(unit, capacity, &ret->capacity) < 0) goto cleanup; VIR_FREE(capacity); VIR_FREE(unit); @@ -1074,7 +1053,7 @@ virStorageVolDefParseXML(virConnectPtr conn, allocation = virXPathString("string(./allocation)", ctxt); if (allocation) { unit = virXPathString("string(./allocation/@unit)", ctxt); - if (virStorageSize(conn, unit, allocation, &ret->allocation) < 0) + if (virStorageSize(unit, allocation, &ret->allocation) < 0) goto cleanup; VIR_FREE(allocation); VIR_FREE(unit); @@ -1091,7 +1070,7 @@ virStorageVolDefParseXML(virConnectPtr conn, ret->target.format = (options->formatFromString)(format); if (ret->target.format < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown volume format type %s"), format); VIR_FREE(format); goto cleanup; @@ -1099,13 +1078,13 @@ virStorageVolDefParseXML(virConnectPtr conn, VIR_FREE(format); } - if (virStorageDefParsePerms(conn, ctxt, &ret->target.perms, + if (virStorageDefParsePerms(ctxt, &ret->target.perms, "./target/permissions", 0600) < 0) goto cleanup; node = virXPathNode("./target/encryption", ctxt); if (node != NULL) { - ret->target.encryption = virStorageEncryptionParseNode(conn, ctxt->doc, + ret->target.encryption = virStorageEncryptionParseNode(ctxt->doc, node); if (ret->target.encryption == NULL) goto cleanup; @@ -1122,7 +1101,7 @@ virStorageVolDefParseXML(virConnectPtr conn, ret->backingStore.format = (options->formatFromString)(format); if (ret->backingStore.format < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown volume format type %s"), format); VIR_FREE(format); goto cleanup; @@ -1130,7 +1109,7 @@ virStorageVolDefParseXML(virConnectPtr conn, VIR_FREE(format); } - if (virStorageDefParsePerms(conn, ctxt, &ret->backingStore.perms, + if (virStorageDefParsePerms(ctxt, &ret->backingStore.perms, "./backingStore/permissions", 0600) < 0) goto cleanup; @@ -1145,15 +1124,14 @@ virStorageVolDefParseXML(virConnectPtr conn, } virStorageVolDefPtr -virStorageVolDefParseNode(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefParseNode(virStoragePoolDefPtr pool, xmlDocPtr xml, xmlNodePtr root) { xmlXPathContextPtr ctxt = NULL; virStorageVolDefPtr def = NULL; if (STRNEQ((const char *)root->name, "volume")) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("unknown root element for storage vol")); goto cleanup; } @@ -1165,15 +1143,14 @@ virStorageVolDefParseNode(virConnectPtr conn, } ctxt->node = root; - def = virStorageVolDefParseXML(conn, pool, ctxt); + def = virStorageVolDefParseXML(pool, ctxt); cleanup: xmlXPathFreeContext(ctxt); return def; } static virStorageVolDefPtr -virStorageVolDefParse(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefParse(virStoragePoolDefPtr pool, const char *xmlStr, const char *filename) { virStorageVolDefPtr ret = NULL; @@ -1186,9 +1163,6 @@ virStorageVolDefParse(virConnectPtr conn, if (!pctxt || !pctxt->sax) goto cleanup; pctxt->sax->error = catchXMLError; - pctxt->_private = conn; - - if (conn) virResetError (&conn->err); if (filename) { xml = xmlCtxtReadFile (pctxt, filename, NULL, @@ -1202,20 +1176,20 @@ virStorageVolDefParse(virConnectPtr conn, } if (!xml) { - if (conn && conn->err.code == VIR_ERR_NONE) - virStorageReportError(conn, VIR_ERR_XML_ERROR, - "%s", _("failed to parse xml document")); + if (virGetLastError() == NULL) + virStorageReportError(VIR_ERR_XML_ERROR, + "%s", _("failed to parse xml document")); goto cleanup; } node = xmlDocGetRootElement(xml); if (node == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing root element")); goto cleanup; } - ret = virStorageVolDefParseNode(conn, pool, xml, node); + ret = virStorageVolDefParseNode(pool, xml, node); xmlFreeParserCtxt (pctxt); xmlFreeDoc(xml); @@ -1229,24 +1203,21 @@ virStorageVolDefParse(virConnectPtr conn, } virStorageVolDefPtr -virStorageVolDefParseString(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefParseString(virStoragePoolDefPtr pool, const char *xmlStr) { - return virStorageVolDefParse(conn, pool, xmlStr, NULL); + return virStorageVolDefParse(pool, xmlStr, NULL); } virStorageVolDefPtr -virStorageVolDefParseFile(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefParseFile(virStoragePoolDefPtr pool, const char *filename) { - return virStorageVolDefParse(conn, pool, NULL, filename); + return virStorageVolDefParse(pool, NULL, filename); } static int -virStorageVolTargetDefFormat(virConnectPtr conn, - virStorageVolOptionsPtr options, +virStorageVolTargetDefFormat(virStorageVolOptionsPtr options, virBufferPtr buf, virStorageVolTargetPtr def, const char *type) { @@ -1258,7 +1229,7 @@ virStorageVolTargetDefFormat(virConnectPtr conn, if (options->formatToString) { const char *format = (options->formatToString)(def->format); if (!format) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown volume format number %d"), def->format); return -1; @@ -1282,7 +1253,7 @@ virStorageVolTargetDefFormat(virConnectPtr conn, virBufferAddLit(buf," </permissions>\n"); if (def->encryption != NULL && - virStorageEncryptionFormat(conn, buf, def->encryption) < 0) + virStorageEncryptionFormat(buf, def->encryption) < 0) return -1; virBufferVSprintf(buf, " </%s>\n", type); @@ -1291,8 +1262,7 @@ virStorageVolTargetDefFormat(virConnectPtr conn, } char * -virStorageVolDefFormat(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefFormat(virStoragePoolDefPtr pool, virStorageVolDefPtr def) { virStorageVolOptionsPtr options; virBuffer buf = VIR_BUFFER_INITIALIZER; @@ -1335,12 +1305,12 @@ virStorageVolDefFormat(virConnectPtr conn, virBufferVSprintf(&buf," <allocation>%llu</allocation>\n", def->allocation); - if (virStorageVolTargetDefFormat(conn, options, &buf, + if (virStorageVolTargetDefFormat(options, &buf, &def->target, "target") < 0) goto cleanup; if (def->backingStore.path && - virStorageVolTargetDefFormat(conn, options, &buf, + virStorageVolTargetDefFormat(options, &buf, &def->backingStore, "backingStore") < 0) goto cleanup; @@ -1437,8 +1407,7 @@ virStorageVolDefFindByName(virStoragePoolObjPtr pool, } virStoragePoolObjPtr -virStoragePoolObjAssignDef(virConnectPtr conn, - virStoragePoolObjListPtr pools, +virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools, virStoragePoolDefPtr def) { virStoragePoolObjPtr pool; @@ -1460,7 +1429,7 @@ virStoragePoolObjAssignDef(virConnectPtr conn, } if (virMutexInit(&pool->lock) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot initialize mutex")); VIR_FREE(pool); return NULL; @@ -1482,27 +1451,26 @@ virStoragePoolObjAssignDef(virConnectPtr conn, } static virStoragePoolObjPtr -virStoragePoolObjLoad(virConnectPtr conn, - virStoragePoolObjListPtr pools, +virStoragePoolObjLoad(virStoragePoolObjListPtr pools, const char *file, const char *path, const char *autostartLink) { virStoragePoolDefPtr def; virStoragePoolObjPtr pool; - if (!(def = virStoragePoolDefParseFile(conn, path))) { + if (!(def = virStoragePoolDefParseFile(path))) { return NULL; } if (!virFileMatchesNameSuffix(file, def->name, ".xml")) { - virStorageError(conn, VIR_ERR_INVALID_STORAGE_POOL, - "Storage pool config filename '%s' does not match pool name '%s'", - path, def->name); + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, + "Storage pool config filename '%s' does not match pool name '%s'", + path, def->name); virStoragePoolDefFree(def); return NULL; } - if (!(pool = virStoragePoolObjAssignDef(conn, pools, def))) { + if (!(pool = virStoragePoolObjAssignDef(pools, def))) { virStoragePoolDefFree(def); return NULL; } @@ -1528,8 +1496,7 @@ virStoragePoolObjLoad(virConnectPtr conn, int -virStoragePoolLoadAllConfigs(virConnectPtr conn, - virStoragePoolObjListPtr pools, +virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools, const char *configDir, const char *autostartDir) { DIR *dir; @@ -1556,21 +1523,21 @@ virStoragePoolLoadAllConfigs(virConnectPtr conn, if (virFileBuildPath(configDir, entry->d_name, NULL, path, PATH_MAX) < 0) { - virStorageError(conn, VIR_ERR_INTERNAL_ERROR, - "Config filename '%s/%s' is too long", - configDir, entry->d_name); + virStorageReportError(VIR_ERR_INTERNAL_ERROR, + "Config filename '%s/%s' is too long", + configDir, entry->d_name); continue; } if (virFileBuildPath(autostartDir, entry->d_name, NULL, autostartLink, PATH_MAX) < 0) { - virStorageError(conn, VIR_ERR_INTERNAL_ERROR, - "Autostart link path '%s/%s' is too long", - autostartDir, entry->d_name); + virStorageReportError(VIR_ERR_INTERNAL_ERROR, + "Autostart link path '%s/%s' is too long", + autostartDir, entry->d_name); continue; } - pool = virStoragePoolObjLoad(conn, pools, entry->d_name, path, + pool = virStoragePoolObjLoad(pools, entry->d_name, path, autostartLink); if (pool) virStoragePoolObjUnlock(pool); @@ -1582,8 +1549,7 @@ virStoragePoolLoadAllConfigs(virConnectPtr conn, } int -virStoragePoolObjSaveDef(virConnectPtr conn, - virStorageDriverStatePtr driver, +virStoragePoolObjSaveDef(virStorageDriverStatePtr driver, virStoragePoolObjPtr pool, virStoragePoolDefPtr def) { char *xml; @@ -1603,7 +1569,7 @@ virStoragePoolObjSaveDef(virConnectPtr conn, if (virFileBuildPath(driver->configDir, def->name, ".xml", path, sizeof(path)) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot construct config file path")); return -1; } @@ -1614,7 +1580,7 @@ virStoragePoolObjSaveDef(virConnectPtr conn, if (virFileBuildPath(driver->autostartDir, def->name, ".xml", path, sizeof(path)) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot construct " "autostart link path")); VIR_FREE(pool->configFile); @@ -1627,8 +1593,8 @@ virStoragePoolObjSaveDef(virConnectPtr conn, } } - if (!(xml = virStoragePoolDefFormat(conn, def))) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + if (!(xml = virStoragePoolDefFormat(def))) { + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to generate XML")); return -1; } @@ -1669,16 +1635,15 @@ virStoragePoolObjSaveDef(virConnectPtr conn, } int -virStoragePoolObjDeleteDef(virConnectPtr conn, - virStoragePoolObjPtr pool) { +virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool) { if (!pool->configFile) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("no config file for %s"), pool->def->name); return -1; } if (unlink(pool->configFile) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("cannot remove config for %s"), pool->def->name); return -1; @@ -1688,8 +1653,7 @@ virStoragePoolObjDeleteDef(virConnectPtr conn, } virStoragePoolSourcePtr -virStoragePoolSourceListNewSource(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, - virStoragePoolSourceListPtr list) +virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list) { virStoragePoolSourcePtr source; @@ -1704,8 +1668,7 @@ virStoragePoolSourceListNewSource(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORAR return source; } -char *virStoragePoolSourceListFormat(virConnectPtr conn, - virStoragePoolSourceListPtr def) +char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def) { virStoragePoolOptionsPtr options; virBuffer buf = VIR_BUFFER_INITIALIZER; @@ -1718,7 +1681,7 @@ char *virStoragePoolSourceListFormat(virConnectPtr conn, type = virStoragePoolTypeToString(def->type); if (!type) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected pool type")); goto cleanup; } @@ -1726,7 +1689,7 @@ char *virStoragePoolSourceListFormat(virConnectPtr conn, virBufferAddLit(&buf, "<sources>\n"); for (i = 0; i < def->nsources; i++) { - virStoragePoolSourceFormat(conn, &buf, options, &def->sources[i]); + virStoragePoolSourceFormat(&buf, options, &def->sources[i]); } virBufferAddLit(&buf, "</sources>\n"); diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h index a5f0100..c643984 100644 --- a/src/conf/storage_conf.h +++ b/src/conf/storage_conf.h @@ -318,12 +318,11 @@ static inline int virStoragePoolObjIsActive(virStoragePoolObjPtr pool) { return pool->active; } -#define virStorageReportError(conn, code, fmt...) \ - virReportErrorHelper(conn, VIR_FROM_STORAGE, code, __FILE__, \ - __FUNCTION__, __LINE__, fmt) +#define virStorageReportError(code, fmt...) \ + virReportErrorHelper(NULL, VIR_FROM_STORAGE, code, __FILE__, \ + __FUNCTION__, __LINE__, fmt) -int virStoragePoolLoadAllConfigs(virConnectPtr conn, - virStoragePoolObjListPtr pools, +int virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools, const char *configDir, const char *autostartDir); @@ -341,40 +340,29 @@ virStorageVolDefPtr virStorageVolDefFindByName(virStoragePoolObjPtr pool, void virStoragePoolObjClearVols(virStoragePoolObjPtr pool); -virStoragePoolDefPtr virStoragePoolDefParseString(virConnectPtr conn, - const char *xml); -virStoragePoolDefPtr virStoragePoolDefParseFile(virConnectPtr conn, - const char *filename); -virStoragePoolDefPtr virStoragePoolDefParseNode(virConnectPtr conn, - xmlDocPtr xml, +virStoragePoolDefPtr virStoragePoolDefParseString(const char *xml); +virStoragePoolDefPtr virStoragePoolDefParseFile(const char *filename); +virStoragePoolDefPtr virStoragePoolDefParseNode(xmlDocPtr xml, xmlNodePtr root); -char *virStoragePoolDefFormat(virConnectPtr conn, - virStoragePoolDefPtr def); +char *virStoragePoolDefFormat(virStoragePoolDefPtr def); -virStorageVolDefPtr virStorageVolDefParseString(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefPtr virStorageVolDefParseString(virStoragePoolDefPtr pool, const char *xml); -virStorageVolDefPtr virStorageVolDefParseFile(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefPtr virStorageVolDefParseFile(virStoragePoolDefPtr pool, const char *filename); -virStorageVolDefPtr virStorageVolDefParseNode(virConnectPtr conn, - virStoragePoolDefPtr pool, +virStorageVolDefPtr virStorageVolDefParseNode(virStoragePoolDefPtr pool, xmlDocPtr xml, xmlNodePtr root); -char *virStorageVolDefFormat(virConnectPtr conn, - virStoragePoolDefPtr pool, +char *virStorageVolDefFormat(virStoragePoolDefPtr pool, virStorageVolDefPtr def); -virStoragePoolObjPtr virStoragePoolObjAssignDef(virConnectPtr conn, - virStoragePoolObjListPtr pools, +virStoragePoolObjPtr virStoragePoolObjAssignDef(virStoragePoolObjListPtr pools, virStoragePoolDefPtr def); -int virStoragePoolObjSaveDef(virConnectPtr conn, - virStorageDriverStatePtr driver, +int virStoragePoolObjSaveDef(virStorageDriverStatePtr driver, virStoragePoolObjPtr pool, virStoragePoolDefPtr def); -int virStoragePoolObjDeleteDef(virConnectPtr conn, - virStoragePoolObjPtr pool); +int virStoragePoolObjDeleteDef(virStoragePoolObjPtr pool); void virStorageVolDefFree(virStorageVolDefPtr def); void virStoragePoolSourceFree(virStoragePoolSourcePtr source); @@ -385,14 +373,11 @@ void virStoragePoolObjRemove(virStoragePoolObjListPtr pools, virStoragePoolObjPtr pool); virStoragePoolSourcePtr -virStoragePoolDefParseSourceString(virConnectPtr conn, - const char *srcSpec, +virStoragePoolDefParseSourceString(const char *srcSpec, int pool_type); virStoragePoolSourcePtr -virStoragePoolSourceListNewSource(virConnectPtr conn, - virStoragePoolSourceListPtr list); -char *virStoragePoolSourceListFormat(virConnectPtr conn, - virStoragePoolSourceListPtr def); +virStoragePoolSourceListNewSource(virStoragePoolSourceListPtr list); +char *virStoragePoolSourceListFormat(virStoragePoolSourceListPtr def); void virStoragePoolObjLock(virStoragePoolObjPtr obj); void virStoragePoolObjUnlock(virStoragePoolObjPtr obj); diff --git a/src/conf/storage_encryption_conf.c b/src/conf/storage_encryption_conf.c index f19af88..ed71688 100644 --- a/src/conf/storage_encryption_conf.c +++ b/src/conf/storage_encryption_conf.c @@ -70,7 +70,7 @@ virStorageEncryptionFree(virStorageEncryptionPtr enc) #ifndef PROXY static virStorageEncryptionSecretPtr -virStorageEncryptionSecretParse(virConnectPtr conn, xmlXPathContextPtr ctxt, +virStorageEncryptionSecretParse(xmlXPathContextPtr ctxt, xmlNodePtr node) { xmlNodePtr old_node; @@ -89,13 +89,13 @@ virStorageEncryptionSecretParse(virConnectPtr conn, xmlXPathContextPtr ctxt, type_str = virXPathString("string(./@type)", ctxt); if (type_str == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, "%s", + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("unknown volume encryption secret type")); goto cleanup; } type = virStorageEncryptionSecretTypeTypeFromString(type_str); if (type < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown volume encryption secret type %s"), type_str); VIR_FREE(type_str); @@ -107,14 +107,14 @@ virStorageEncryptionSecretParse(virConnectPtr conn, xmlXPathContextPtr ctxt, uuidstr = virXPathString("string(./@uuid)", ctxt); if (uuidstr) { if (virUUIDParse(uuidstr, ret->uuid) < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("malformed volume encryption uuid '%s'"), uuidstr); goto cleanup; } VIR_FREE(uuidstr); } else { - virStorageReportError(conn, VIR_ERR_XML_ERROR, "%s", + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("missing volume encryption uuid")); goto cleanup; } @@ -129,7 +129,7 @@ virStorageEncryptionSecretParse(virConnectPtr conn, xmlXPathContextPtr ctxt, } static virStorageEncryptionPtr -virStorageEncryptionParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) +virStorageEncryptionParseXML(xmlXPathContextPtr ctxt) { xmlNodePtr *nodes = NULL; virStorageEncryptionPtr ret; @@ -143,13 +143,13 @@ virStorageEncryptionParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) format_str = virXPathString("string(./@format)", ctxt); if (format_str == NULL) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, "%s", + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("unknown volume encryption format")); goto cleanup; } format = virStorageEncryptionFormatTypeFromString(format_str); if (format < 0) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, _("unknown volume encryption format type %s"), format_str); VIR_FREE(format_str); @@ -160,7 +160,7 @@ virStorageEncryptionParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) n = virXPathNodeSet("./secret", ctxt, &nodes); if (n < 0){ - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot extract volume encryption secrets")); goto cleanup; } @@ -170,7 +170,7 @@ virStorageEncryptionParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) } ret->nsecrets = n; for (i = 0; i < n; i++) { - ret->secrets[i] = virStorageEncryptionSecretParse(conn, ctxt, nodes[i]); + ret->secrets[i] = virStorageEncryptionSecretParse(ctxt, nodes[i]); if (ret->secrets[i] == NULL) goto cleanup; } @@ -185,14 +185,13 @@ virStorageEncryptionParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt) } virStorageEncryptionPtr -virStorageEncryptionParseNode(virConnectPtr conn, - xmlDocPtr xml, xmlNodePtr root) +virStorageEncryptionParseNode(xmlDocPtr xml, xmlNodePtr root) { xmlXPathContextPtr ctxt = NULL; virStorageEncryptionPtr enc = NULL; if (STRNEQ((const char *) root->name, "encryption")) { - virStorageReportError(conn, VIR_ERR_XML_ERROR, + virStorageReportError(VIR_ERR_XML_ERROR, "%s", _("unknown root element for volume " "encryption information")); goto cleanup; @@ -205,7 +204,7 @@ virStorageEncryptionParseNode(virConnectPtr conn, } ctxt->node = root; - enc = virStorageEncryptionParseXML(conn, ctxt); + enc = virStorageEncryptionParseXML(ctxt); cleanup: xmlXPathFreeContext(ctxt); @@ -215,8 +214,7 @@ virStorageEncryptionParseNode(virConnectPtr conn, static int -virStorageEncryptionSecretFormat(virConnectPtr conn, - virBufferPtr buf, +virStorageEncryptionSecretFormat(virBufferPtr buf, virStorageEncryptionSecretPtr secret) { const char *type; @@ -224,7 +222,7 @@ virStorageEncryptionSecretFormat(virConnectPtr conn, type = virStorageEncryptionSecretTypeTypeToString(secret->type); if (!type) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected volume encryption secret type")); return -1; } @@ -235,8 +233,7 @@ virStorageEncryptionSecretFormat(virConnectPtr conn, } int -virStorageEncryptionFormat(virConnectPtr conn, - virBufferPtr buf, +virStorageEncryptionFormat(virBufferPtr buf, virStorageEncryptionPtr enc) { const char *format; @@ -244,14 +241,14 @@ virStorageEncryptionFormat(virConnectPtr conn, format = virStorageEncryptionFormatTypeToString(enc->format); if (!format) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected encryption format")); return -1; } virBufferVSprintf(buf, " <encryption format='%s'>\n", format); for (i = 0; i < enc->nsecrets; i++) { - if (virStorageEncryptionSecretFormat(conn, buf, enc->secrets[i]) < 0) + if (virStorageEncryptionSecretFormat(buf, enc->secrets[i]) < 0) return -1; } @@ -261,7 +258,7 @@ virStorageEncryptionFormat(virConnectPtr conn, } int -virStorageGenerateQcowPassphrase(virConnectPtr conn, unsigned char *dest) +virStorageGenerateQcowPassphrase(unsigned char *dest) { int fd; size_t i; @@ -271,7 +268,7 @@ virStorageGenerateQcowPassphrase(virConnectPtr conn, unsigned char *dest) unpleasant surprises with the qemu monitor input mechanism. */ fd = open("/dev/urandom", O_RDONLY); if (fd < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot open /dev/urandom")); return -1; } @@ -282,7 +279,7 @@ virStorageGenerateQcowPassphrase(virConnectPtr conn, unsigned char *dest) while ((r = read(fd, dest + i, 1)) == -1 && errno == EINTR) ; if (r <= 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Cannot read from /dev/urandom")); close(fd); return -1; diff --git a/src/conf/storage_encryption_conf.h b/src/conf/storage_encryption_conf.h index 5d0bc3c..bb19850 100644 --- a/src/conf/storage_encryption_conf.h +++ b/src/conf/storage_encryption_conf.h @@ -64,10 +64,9 @@ struct _virStorageEncryption { void virStorageEncryptionFree(virStorageEncryptionPtr enc); -virStorageEncryptionPtr virStorageEncryptionParseNode(virConnectPtr conn, - xmlDocPtr xml, +virStorageEncryptionPtr virStorageEncryptionParseNode(xmlDocPtr xml, xmlNodePtr root); -int virStorageEncryptionFormat(virConnectPtr conn, virBufferPtr buf, +int virStorageEncryptionFormat(virBufferPtr buf, virStorageEncryptionPtr enc); /* A helper for VIR_STORAGE_ENCRYPTION_FORMAT_QCOW */ @@ -75,6 +74,6 @@ enum { VIR_STORAGE_QCOW_PASSPHRASE_SIZE = 16 }; -int virStorageGenerateQcowPassphrase(virConnectPtr conn, unsigned char *dest); +int virStorageGenerateQcowPassphrase(unsigned char *dest); #endif /* __VIR_STORAGE_ENCRYPTION_H__ */ diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c index 4c62d48..de7fbd1 100644 --- a/src/storage/storage_backend.c +++ b/src/storage/storage_backend.c @@ -271,7 +271,7 @@ cleanup: } int -virStorageBackendCreateRaw(virConnectPtr conn, +virStorageBackendCreateRaw(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, virStorageVolDefPtr vol, virStorageVolDefPtr inputvol, @@ -284,7 +284,7 @@ virStorageBackendCreateRaw(virConnectPtr conn, char *buf = NULL; if (vol->target.encryption != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support encrypted " "volumes")); return -1; @@ -419,14 +419,14 @@ virStorageGenerateQcowEncryption(virConnectPtr conn, conn->secretDriver->lookupByUUID == NULL || conn->secretDriver->defineXML == NULL || conn->secretDriver->setValue == NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, "%s", + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("secret storage not supported")); goto cleanup; } enc = vol->target.encryption; if (enc->nsecrets != 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("secrets already defined")); goto cleanup; } @@ -461,7 +461,7 @@ virStorageGenerateQcowEncryption(virConnectPtr conn, } VIR_FREE(xml); - if (virStorageGenerateQcowPassphrase(conn, value) < 0) + if (virStorageGenerateQcowPassphrase(value) < 0) goto cleanup; if (conn->secretDriver->setValue(secret, value, sizeof(value), 0) < 0) @@ -619,13 +619,13 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, }; if (type == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown storage vol type %d"), vol->target.format); return -1; } if (inputvol && inputType == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown storage vol type %d"), inputvol->target.format); return -1; @@ -640,14 +640,14 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, if (inputvol && (!inputBackingPath || STRNEQ(inputBackingPath, vol->backingStore.path))) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("a different backing store can not " "be specified.")); return -1; } if (backingType == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown storage vol backing store type %d"), vol->backingStore.format); return -1; @@ -665,7 +665,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, if (vol->target.format != VIR_STORAGE_FILE_QCOW && vol->target.format != VIR_STORAGE_FILE_QCOW2) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, _("qcow volume encryption unsupported with " "volume format %s"), type); return -1; @@ -673,13 +673,13 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, enc = vol->target.encryption; if (enc->format != VIR_STORAGE_ENCRYPTION_FORMAT_QCOW && enc->format != VIR_STORAGE_ENCRYPTION_FORMAT_DEFAULT) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, _("unsupported volume encryption format %d"), vol->target.encryption->format); return -1; } if (enc->nsecrets > 1) { - virStorageReportError(conn, VIR_ERR_INVALID_STORAGE_VOL, "%s", + virStorageReportError(VIR_ERR_INVALID_STORAGE_VOL, "%s", _("too many secrets for qcow encryption")); return -1; } @@ -695,7 +695,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, else if ((create_tool = virFindFileInPath("qemu-img")) != NULL) use_kvmimg = 0; else { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unable to find kvm-img or qemu-img")); return -1; } @@ -737,7 +737,7 @@ virStorageBackendCreateQemuImg(virConnectPtr conn, * with a partially functional qcow-create. Go figure ??!? */ static int -virStorageBackendCreateQcowCreate(virConnectPtr conn, +virStorageBackendCreateQcowCreate(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, virStorageVolDefPtr vol, virStorageVolDefPtr inputvol, @@ -748,25 +748,25 @@ virStorageBackendCreateQcowCreate(virConnectPtr conn, const char *imgargv[4]; if (inputvol) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot copy from volume with qcow-create")); return -1; } if (vol->target.format != VIR_STORAGE_FILE_QCOW2) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unsupported storage vol type %d"), vol->target.format); return -1; } if (vol->backingStore.path != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, "%s", + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("copy-on-write image not supported with " "qcow-create")); return -1; } if (vol->target.encryption != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("encrypted volumes not supported with " "qcow-create")); return -1; @@ -787,7 +787,7 @@ virStorageBackendCreateQcowCreate(virConnectPtr conn, } virStorageBackendBuildVolFrom -virStorageBackendFSImageToolTypeToFunc(virConnectPtr conn, int tool_type) +virStorageBackendFSImageToolTypeToFunc(int tool_type) { switch (tool_type) { case TOOL_KVM_IMG: @@ -796,7 +796,7 @@ virStorageBackendFSImageToolTypeToFunc(virConnectPtr conn, int tool_type) case TOOL_QCOW_CREATE: return virStorageBackendCreateQcowCreate; default: - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown file create tool type '%d'."), tool_type); } @@ -827,8 +827,7 @@ virStorageBackendFindFSImageTool(char **tool) } virStorageBackendBuildVolFrom -virStorageBackendGetBuildVolFromFunction(virConnectPtr conn, - virStorageVolDefPtr vol, +virStorageBackendGetBuildVolFromFunction(virStorageVolDefPtr vol, virStorageVolDefPtr inputvol) { int tool_type; @@ -845,13 +844,13 @@ virStorageBackendGetBuildVolFromFunction(virConnectPtr conn, inputvol->target.format != VIR_STORAGE_FILE_RAW)) { if ((tool_type = virStorageBackendFindFSImageTool(NULL)) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("creation of non-raw file images is " "not supported without qemu-img.")); return NULL; } - return virStorageBackendFSImageToolTypeToFunc(conn, tool_type); + return virStorageBackendFSImageToolTypeToFunc(tool_type); } if (vol->type == VIR_STORAGE_VOL_BLOCK) @@ -868,7 +867,7 @@ virStorageBackendForType(int type) { if (backends[i]->type == type) return backends[i]; - virStorageReportError(NULL, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("missing backend for pool type %d"), type); return NULL; } @@ -1192,8 +1191,7 @@ virStorageBackendStablePath(virStoragePoolObjPtr pool, * then run a callback passing in all the matches */ int -virStorageBackendRunProgRegex(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendRunProgRegex(virStoragePoolObjPtr pool, const char *const*prog, int nregex, const char **regex, @@ -1223,7 +1221,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, if (err != 0) { char error[100]; regerror(err, ®[i], error, sizeof(error)); - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to compile regex %s"), error); for (j = 0 ; j <= i ; j++) regfree(®[j]); @@ -1255,7 +1253,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, } if ((list = fdopen(fd, "r")) == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot read fd")); goto cleanup; } @@ -1286,7 +1284,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, /* We're matching on the last regex, so callback time */ if (i == (nregex-1)) { - if (((*func)(conn, pool, groups, data)) < 0) + if (((*func)(pool, groups, data)) < 0) goto cleanup; /* Release matches & restart to matching the first regex */ @@ -1337,7 +1335,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, if (outexit != NULL) *outexit = WEXITSTATUS(exitstatus); } else { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("command did not exit cleanly")); return -1; } @@ -1358,8 +1356,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, * If there are no input tokens (empty input), call FUNC with N_COLUMNS == 0. */ int -virStorageBackendRunProgNul(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendRunProgNul(virStoragePoolObjPtr pool, const char **prog, size_t n_columns, virStorageBackendListVolNulFunc func, @@ -1391,7 +1388,7 @@ virStorageBackendRunProgNul(virConnectPtr conn, } if ((fp = fdopen(fd, "r")) == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot read fd")); goto cleanup; } @@ -1406,13 +1403,13 @@ virStorageBackendRunProgNul(virConnectPtr conn, if (tok_len < 0) { /* Maybe EOF, maybe an error. If n_tok > 0, then we know it's an error. */ - if (n_tok && func (conn, pool, n_tok, v, data) < 0) + if (n_tok && func (pool, n_tok, v, data) < 0) goto cleanup; break; } ++n_tok; if (n_tok == n_columns) { - if (func (conn, pool, n_tok, v, data) < 0) + if (func (pool, n_tok, v, data) < 0) goto cleanup; n_tok = 0; for (i = 0; i < n_columns; i++) { @@ -1452,13 +1449,13 @@ virStorageBackendRunProgNul(virConnectPtr conn, } else { if (WIFEXITED(exitstatus)) { if (WEXITSTATUS(exitstatus) != 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("non-zero exit status from command %d"), WEXITSTATUS(exitstatus)); return -1; } } else { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("command did not exit cleanly")); return -1; } @@ -1480,7 +1477,7 @@ virStorageBackendRunProgRegex(virConnectPtr conn, void *data ATTRIBUTE_UNUSED, int *outexit ATTRIBUTE_UNUSED) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("%s not implemented on Win32"), __FUNCTION__); + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("%s not implemented on Win32"), __FUNCTION__); return -1; } @@ -1492,7 +1489,7 @@ virStorageBackendRunProgNul(virConnectPtr conn, virStorageBackendListVolNulFunc func ATTRIBUTE_UNUSED, void *data ATTRIBUTE_UNUSED) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, _("%s not implemented on Win32"), __FUNCTION__); + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("%s not implemented on Win32"), __FUNCTION__); return -1; } #endif diff --git a/src/storage/storage_backend.h b/src/storage/storage_backend.h index a69aeee..00bc725 100644 --- a/src/storage/storage_backend.h +++ b/src/storage/storage_backend.h @@ -51,13 +51,11 @@ int virStorageBackendCreateRaw(virConnectPtr conn, virStorageVolDefPtr inputvol, unsigned int flags); virStorageBackendBuildVolFrom -virStorageBackendGetBuildVolFromFunction(virConnectPtr conn, - virStorageVolDefPtr vol, +virStorageBackendGetBuildVolFromFunction(virStorageVolDefPtr vol, virStorageVolDefPtr inputvol); int virStorageBackendFindFSImageTool(char **tool); virStorageBackendBuildVolFrom -virStorageBackendFSImageToolTypeToFunc(virConnectPtr conn, - int tool_type); +virStorageBackendFSImageToolTypeToFunc(int tool_type); typedef struct _virStorageBackend virStorageBackend; @@ -100,18 +98,15 @@ virStorageBackendUpdateVolTargetFormatFD(virStorageVolTargetPtr target, char *virStorageBackendStablePath(virStoragePoolObjPtr pool, const char *devpath); -typedef int (*virStorageBackendListVolRegexFunc)(virConnectPtr conn, - virStoragePoolObjPtr pool, +typedef int (*virStorageBackendListVolRegexFunc)(virStoragePoolObjPtr pool, char **const groups, void *data); -typedef int (*virStorageBackendListVolNulFunc)(virConnectPtr conn, - virStoragePoolObjPtr pool, +typedef int (*virStorageBackendListVolNulFunc)(virStoragePoolObjPtr pool, size_t n_tokens, char **const groups, void *data); -int virStorageBackendRunProgRegex(virConnectPtr conn, - virStoragePoolObjPtr pool, +int virStorageBackendRunProgRegex(virStoragePoolObjPtr pool, const char *const*prog, int nregex, const char **regex, @@ -120,8 +115,7 @@ int virStorageBackendRunProgRegex(virConnectPtr conn, void *data, int *exitstatus); -int virStorageBackendRunProgNul(virConnectPtr conn, - virStoragePoolObjPtr pool, +int virStorageBackendRunProgNul(virStoragePoolObjPtr pool, const char **prog, size_t n_columns, virStorageBackendListVolNulFunc func, diff --git a/src/storage/storage_backend_disk.c b/src/storage/storage_backend_disk.c index 2082841..5717cfd 100644 --- a/src/storage/storage_backend_disk.c +++ b/src/storage/storage_backend_disk.c @@ -39,8 +39,7 @@ #define SECTOR_SIZE 512 static int -virStorageBackendDiskMakeDataVol(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendDiskMakeDataVol(virStoragePoolObjPtr pool, char **const groups, virStorageVolDefPtr vol) { @@ -105,14 +104,14 @@ virStorageBackendDiskMakeDataVol(virConnectPtr conn, if (virStrToLong_ull(groups[3], NULL, 10, &vol->source.extents[0].start) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot parse device start location")); return -1; } if (virStrToLong_ull(groups[4], NULL, 10, &vol->source.extents[0].end) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot parse device end location")); return -1; } @@ -154,8 +153,7 @@ virStorageBackendDiskMakeDataVol(virConnectPtr conn, } static int -virStorageBackendDiskMakeFreeExtent(virConnectPtr conn ATTRIBUTE_UNUSED, - virStoragePoolObjPtr pool, +virStorageBackendDiskMakeFreeExtent(virStoragePoolObjPtr pool, char **const groups) { virStoragePoolSourceDevicePtr dev = &pool->def->source.devices[0]; @@ -202,8 +200,7 @@ virStorageBackendDiskMakeFreeExtent(virConnectPtr conn ATTRIBUTE_UNUSED, static int -virStorageBackendDiskMakeVol(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendDiskMakeVol(virStoragePoolObjPtr pool, size_t ntok ATTRIBUTE_UNUSED, char **const groups, void *data) @@ -237,10 +234,10 @@ virStorageBackendDiskMakeVol(virConnectPtr conn, } } - return virStorageBackendDiskMakeDataVol(conn, pool, groups, vol); + return virStorageBackendDiskMakeDataVol(pool, groups, vol); } else if (STREQ(groups[2], "free")) { /* ....or free space extents */ - return virStorageBackendDiskMakeFreeExtent(conn, pool, groups); + return virStorageBackendDiskMakeFreeExtent(pool, groups); } else { /* This code path should never happen unless someone changed * libvirt_parthelper forgot to change this code */ @@ -260,8 +257,7 @@ virStorageBackendDiskMakeVol(virConnectPtr conn, * and we can even ensure the output is friendly. */ static int -virStorageBackendDiskReadPartitions(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendDiskReadPartitions(virStoragePoolObjPtr pool, virStorageVolDefPtr vol) { @@ -278,8 +274,7 @@ virStorageBackendDiskReadPartitions(virConnectPtr conn, pool->def->allocation = pool->def->capacity = pool->def->available = 0; - return virStorageBackendRunProgNul(conn, - pool, + return virStorageBackendRunProgNul(pool, prog, 6, virStorageBackendDiskMakeVol, @@ -287,11 +282,10 @@ virStorageBackendDiskReadPartitions(virConnectPtr conn, } static int -virStorageBackendDiskMakePoolGeometry(virConnectPtr conn ATTRIBUTE_UNUSED, - virStoragePoolObjPtr pool, - size_t ntok ATTRIBUTE_UNUSED, - char **const groups, - void *data ATTRIBUTE_UNUSED) +virStorageBackendDiskMakePoolGeometry(virStoragePoolObjPtr pool, + size_t ntok ATTRIBUTE_UNUSED, + char **const groups, + void *data ATTRIBUTE_UNUSED) { pool->def->source.devices[0].geometry.cyliders = atoi(groups[0]); @@ -302,14 +296,13 @@ virStorageBackendDiskMakePoolGeometry(virConnectPtr conn ATTRIBUTE_UNUSED, } static int -virStorageBackendDiskReadGeometry(virConnectPtr conn, virStoragePoolObjPtr pool) +virStorageBackendDiskReadGeometry(virStoragePoolObjPtr pool) { const char *prog[] = { PARTHELPER, pool->def->source.devices[0].path, "-g", NULL, }; - return virStorageBackendRunProgNul(conn, - pool, + return virStorageBackendRunProgNul(pool, prog, 3, virStorageBackendDiskMakePoolGeometry, @@ -317,7 +310,7 @@ virStorageBackendDiskReadGeometry(virConnectPtr conn, virStoragePoolObjPtr pool) } static int -virStorageBackendDiskRefreshPool(virConnectPtr conn, +virStorageBackendDiskRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { VIR_FREE(pool->def->source.devices[0].freeExtents); @@ -325,11 +318,11 @@ virStorageBackendDiskRefreshPool(virConnectPtr conn, virFileWaitForDevices(); - if (virStorageBackendDiskReadGeometry(conn, pool) != 0) { + if (virStorageBackendDiskReadGeometry(pool) != 0) { return -1; } - return virStorageBackendDiskReadPartitions(conn, pool, NULL); + return virStorageBackendDiskReadPartitions(pool, NULL); } @@ -386,7 +379,7 @@ virStorageBackendDiskPartTypeToCreate(virStoragePoolObjPtr pool) } static int -virStorageBackendDiskPartFormat(virConnectPtr conn, virStoragePoolObjPtr pool, +virStorageBackendDiskPartFormat(virStoragePoolObjPtr pool, virStorageVolDefPtr vol, char* partFormat) { @@ -394,7 +387,7 @@ virStorageBackendDiskPartFormat(virConnectPtr conn, virStoragePoolObjPtr pool, if (pool->def->source.format == VIR_STORAGE_POOL_DISK_DOS) { const char *partedFormat = virStoragePartedFsTypeTypeToString(vol->target.format); if(partedFormat == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Invalid partition type")); return -1; } @@ -402,7 +395,7 @@ virStorageBackendDiskPartFormat(virConnectPtr conn, virStoragePoolObjPtr pool, /* make sure we don't have a extended partition already */ for (i = 0; i < pool->volumes.count; i++) { if (pool->volumes.objs[i]->target.format == VIR_STORAGE_VOL_DISK_EXTENDED) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("extended partition already exists")); return -1; } @@ -426,7 +419,7 @@ virStorageBackendDiskPartFormat(virConnectPtr conn, virStoragePoolObjPtr pool, } } if (i == pool->volumes.count) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no extended partition found and no primary partition available")); return -1; } @@ -448,8 +441,7 @@ virStorageBackendDiskPartFormat(virConnectPtr conn, virStoragePoolObjPtr pool, * partitions */ static int -virStorageBackendDiskPartBoundries(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendDiskPartBoundries(virStoragePoolObjPtr pool, unsigned long long *start, unsigned long long *end, unsigned long long allocation) @@ -511,7 +503,7 @@ virStorageBackendDiskPartBoundries(virConnectPtr conn, } if (smallestExtent == -1) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no large enough free extent")); return -1; } @@ -538,7 +530,7 @@ virStorageBackendDiskPartBoundries(virConnectPtr conn, static int -virStorageBackendDiskCreateVol(virConnectPtr conn, +virStorageBackendDiskCreateVol(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, virStorageVolDefPtr vol) { @@ -556,17 +548,17 @@ virStorageBackendDiskCreateVol(virConnectPtr conn, }; if (vol->target.encryption != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support encrypted " "volumes")); return -1; } - if (virStorageBackendDiskPartFormat(conn, pool, vol, partFormat) != 0) { + if (virStorageBackendDiskPartFormat(pool, vol, partFormat) != 0) { return -1; } - if (virStorageBackendDiskPartBoundries(conn, pool, &startOffset, + if (virStorageBackendDiskPartBoundries(pool, &startOffset, &endOffset, vol->capacity) != 0) { return -1; @@ -591,7 +583,7 @@ virStorageBackendDiskCreateVol(virConnectPtr conn, VIR_FREE(vol->target.path); /* Fetch actual extent info, generate key */ - if (virStorageBackendDiskReadPartitions(conn, pool, vol) < 0) + if (virStorageBackendDiskReadPartitions(pool, vol) < 0) return -1; return 0; @@ -606,7 +598,7 @@ virStorageBackendDiskBuildVolFrom(virConnectPtr conn, { virStorageBackendBuildVolFrom build_func; - build_func = virStorageBackendGetBuildVolFromFunction(conn, vol, inputvol); + build_func = virStorageBackendGetBuildVolFromFunction(vol, inputvol); if (!build_func) return -1; @@ -614,7 +606,7 @@ virStorageBackendDiskBuildVolFrom(virConnectPtr conn, } static int -virStorageBackendDiskDeleteVol(virConnectPtr conn, +virStorageBackendDiskDeleteVol(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, virStorageVolDefPtr vol, unsigned int flags ATTRIBUTE_UNUSED) @@ -637,7 +629,7 @@ virStorageBackendDiskDeleteVol(virConnectPtr conn, DEBUG("devname=%s, srcname=%s", devname, srcname); if (!STRPREFIX(devname, srcname)) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Volume path '%s' did not start with parent " "pool source device name."), devname); goto cleanup; @@ -646,7 +638,7 @@ virStorageBackendDiskDeleteVol(virConnectPtr conn, part_num = devname + strlen(srcname); if (*part_num == 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("cannot parse partition number from target " "'%s'"), devname); goto cleanup; diff --git a/src/storage/storage_backend_fs.c b/src/storage/storage_backend_fs.c index a431ac1..03ba43a 100644 --- a/src/storage/storage_backend_fs.c +++ b/src/storage/storage_backend_fs.c @@ -135,8 +135,7 @@ struct _virNetfsDiscoverState { typedef struct _virNetfsDiscoverState virNetfsDiscoverState; static int -virStorageBackendFileSystemNetFindPoolSourcesFunc(virConnectPtr conn, - virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, +virStorageBackendFileSystemNetFindPoolSourcesFunc(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, char **const groups, void *data) { @@ -149,18 +148,18 @@ virStorageBackendFileSystemNetFindPoolSourcesFunc(virConnectPtr conn, name = strrchr(path, '/'); if (name == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("invalid netfs path (no /): %s"), path); goto cleanup; } name += 1; if (*name == '\0') { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("invalid netfs path (ends in /): %s"), path); goto cleanup; } - if (!(src = virStoragePoolSourceListNewSource(conn, &state->list))) + if (!(src = virStoragePoolSourceListNewSource(&state->list))) goto cleanup; if (!(src->host.name = strdup(state->host)) || @@ -180,7 +179,7 @@ cleanup: static char * -virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn, +virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED, const char *srcSpec, unsigned int flags ATTRIBUTE_UNUSED) { @@ -212,7 +211,7 @@ virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn, char *retval = NULL; unsigned int i; - source = virStoragePoolDefParseSourceString(conn, srcSpec, + source = virStoragePoolDefParseSourceString(srcSpec, VIR_STORAGE_POOL_NETFS); if (!source) goto cleanup; @@ -220,12 +219,12 @@ virStorageBackendFileSystemNetFindPoolSources(virConnectPtr conn, state.host = source->host.name; prog[3] = source->host.name; - if (virStorageBackendRunProgRegex(conn, NULL, prog, 1, regexes, vars, + if (virStorageBackendRunProgRegex(NULL, prog, 1, regexes, vars, virStorageBackendFileSystemNetFindPoolSourcesFunc, &state, &exitstatus) < 0) goto cleanup; - retval = virStoragePoolSourceListFormat(conn, &state.list); + retval = virStoragePoolSourceListFormat(&state.list); if (retval == NULL) { virReportOOMError(); goto cleanup; @@ -286,8 +285,7 @@ virStorageBackendFileSystemIsMounted(virStoragePoolObjPtr pool) { * Returns 0 if successfully mounted, -1 on error */ static int -virStorageBackendFileSystemMount(virConnectPtr conn, - virStoragePoolObjPtr pool) { +virStorageBackendFileSystemMount(virStoragePoolObjPtr pool) { char *src; char *options; const char **mntargv; @@ -351,18 +349,18 @@ virStorageBackendFileSystemMount(virConnectPtr conn, if (pool->def->type == VIR_STORAGE_POOL_NETFS) { if (pool->def->source.host.name == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source host")); return -1; } if (pool->def->source.dir == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source path")); return -1; } } else { if (pool->def->source.ndevice != 1) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source device")); return -1; } @@ -420,25 +418,24 @@ virStorageBackendFileSystemMount(virConnectPtr conn, * Returns 0 if successfully unmounted, -1 on error */ static int -virStorageBackendFileSystemUnmount(virConnectPtr conn, - virStoragePoolObjPtr pool) { +virStorageBackendFileSystemUnmount(virStoragePoolObjPtr pool) { const char *mntargv[3]; int ret; if (pool->def->type == VIR_STORAGE_POOL_NETFS) { if (pool->def->source.host.name == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source host")); return -1; } if (pool->def->source.dir == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source dir")); return -1; } } else { if (pool->def->source.ndevice != 1) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source device")); return -1; } @@ -476,11 +473,11 @@ virStorageBackendFileSystemUnmount(virConnectPtr conn, */ #if WITH_STORAGE_FS static int -virStorageBackendFileSystemStart(virConnectPtr conn, +virStorageBackendFileSystemStart(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { if (pool->def->type != VIR_STORAGE_POOL_DIR && - virStorageBackendFileSystemMount(conn, pool) < 0) + virStorageBackendFileSystemMount(pool) < 0) return -1; return 0; @@ -499,7 +496,7 @@ virStorageBackendFileSystemStart(virConnectPtr conn, * Returns 0 on success, -1 on error */ static int -virStorageBackendFileSystemBuild(virConnectPtr conn, +virStorageBackendFileSystemBuild(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, unsigned int flags ATTRIBUTE_UNUSED) { @@ -512,7 +509,7 @@ virStorageBackendFileSystemBuild(virConnectPtr conn, goto error; } if (!(p = strrchr(parent, '/'))) { - virStorageReportError(conn, VIR_ERR_INVALID_ARG, + virStorageReportError(VIR_ERR_INVALID_ARG, _("path '%s' is not absolute"), pool->def->target.path); goto error; @@ -694,11 +691,11 @@ no_memory: */ #if WITH_STORAGE_FS static int -virStorageBackendFileSystemStop(virConnectPtr conn, +virStorageBackendFileSystemStop(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { if (pool->def->type != VIR_STORAGE_POOL_DIR && - virStorageBackendFileSystemUnmount(conn, pool) < 0) + virStorageBackendFileSystemUnmount(pool) < 0) return -1; return 0; @@ -766,7 +763,7 @@ virStorageBackendFileSystemVolCreate(virConnectPtr conn ATTRIBUTE_UNUSED, return 0; } -static int createFileDir(virConnectPtr conn, +static int createFileDir(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool, virStorageVolDefPtr vol, virStorageVolDefPtr inputvol, @@ -774,7 +771,7 @@ static int createFileDir(virConnectPtr conn, int err; if (inputvol) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot copy from volume to a directory volume")); return -1; @@ -803,13 +800,13 @@ _virStorageBackendFileSystemVolBuild(virConnectPtr conn, if (inputvol) { if (vol->target.encryption != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support " "building encrypted volumes from " "other volumes")); return -1; } - create_func = virStorageBackendGetBuildVolFromFunction(conn, vol, + create_func = virStorageBackendGetBuildVolFromFunction(vol, inputvol); if (!create_func) return -1; @@ -818,12 +815,12 @@ _virStorageBackendFileSystemVolBuild(virConnectPtr conn, } else if (vol->target.format == VIR_STORAGE_FILE_DIR) { create_func = createFileDir; } else if ((tool_type = virStorageBackendFindFSImageTool(NULL)) != -1) { - create_func = virStorageBackendFSImageToolTypeToFunc(conn, tool_type); + create_func = virStorageBackendFSImageToolTypeToFunc(tool_type); if (!create_func) return -1; } else { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("creation of non-raw images " "is not supported without qemu-img")); return -1; diff --git a/src/storage/storage_backend_iscsi.c b/src/storage/storage_backend_iscsi.c index 4e2a75e..f34123f 100644 --- a/src/storage/storage_backend_iscsi.c +++ b/src/storage/storage_backend_iscsi.c @@ -45,8 +45,7 @@ #define VIR_FROM_THIS VIR_FROM_STORAGE static int -virStorageBackendISCSITargetIP(virConnectPtr conn, - const char *hostname, +virStorageBackendISCSITargetIP(const char *hostname, char *ipaddr, size_t ipaddrlen) { @@ -62,14 +61,14 @@ virStorageBackendISCSITargetIP(virConnectPtr conn, ret = getaddrinfo(hostname, NULL, &hints, &result); if (ret != 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("host lookup failed %s"), gai_strerror(ret)); return -1; } if (result == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("no IP address for target %s"), hostname); return -1; @@ -78,7 +77,7 @@ virStorageBackendISCSITargetIP(virConnectPtr conn, if (getnameinfo(result->ai_addr, result->ai_addrlen, ipaddr, ipaddrlen, NULL, 0, NI_NUMERICHOST) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("cannot format ip addr for %s"), hostname); freeaddrinfo(result); @@ -90,8 +89,7 @@ virStorageBackendISCSITargetIP(virConnectPtr conn, } static int -virStorageBackendISCSIExtractSession(virConnectPtr conn ATTRIBUTE_UNUSED, - virStoragePoolObjPtr pool, +virStorageBackendISCSIExtractSession(virStoragePoolObjPtr pool, char **const groups, void *data) { @@ -108,8 +106,7 @@ virStorageBackendISCSIExtractSession(virConnectPtr conn ATTRIBUTE_UNUSED, } static char * -virStorageBackendISCSISession(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSISession(virStoragePoolObjPtr pool, int probe) { /* @@ -134,7 +131,7 @@ virStorageBackendISCSISession(virConnectPtr conn, * returned an exit status of > 0, even if they succeeded. We will just * rely on whether session got filled in properly. */ - if (virStorageBackendRunProgRegex(conn, pool, + if (virStorageBackendRunProgRegex(pool, prog, 1, regexes, @@ -146,7 +143,7 @@ virStorageBackendISCSISession(virConnectPtr conn, if (session == NULL && !probe) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("cannot find session")); return NULL; } @@ -158,8 +155,7 @@ virStorageBackendISCSISession(virConnectPtr conn, #define LINE_SIZE 4096 static int -virStorageBackendIQNFound(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendIQNFound(virStoragePoolObjPtr pool, char **ifacename) { int ret = IQN_MISSING, fd = -1; @@ -174,7 +170,7 @@ virStorageBackendIQNFound(virConnectPtr conn, if (VIR_ALLOC_N(line, LINE_SIZE) != 0) { ret = IQN_ERROR; - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Could not allocate memory for output of '%s'"), prog[0]); goto out; @@ -183,7 +179,7 @@ virStorageBackendIQNFound(virConnectPtr conn, memset(line, 0, LINE_SIZE); if (virExec(prog, NULL, NULL, &child, -1, &fd, NULL, VIR_EXEC_NONE) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to run '%s' when looking for existing interface with IQN '%s'"), prog[0], pool->def->source.initiator.iqn); @@ -192,7 +188,7 @@ virStorageBackendIQNFound(virConnectPtr conn, } if ((fp = fdopen(fd, "r")) == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to open stream for file descriptor " "when reading output from '%s': '%s'"), prog[0], virStrerror(errno, ebuf, sizeof ebuf)); @@ -204,7 +200,7 @@ virStorageBackendIQNFound(virConnectPtr conn, newline = strrchr(line, '\n'); if (newline == NULL) { ret = IQN_ERROR; - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Unexpected line > %d characters " "when parsing output of '%s'"), LINE_SIZE, prog[0]); @@ -251,15 +247,14 @@ out: static int -virStorageBackendCreateIfaceIQN(virConnectPtr conn, - virStoragePoolObjPtr pool, - char **ifacename) +virStorageBackendCreateIfaceIQN(virStoragePoolObjPtr pool, + char **ifacename) { int ret = -1, exitstatus = -1; char temp_ifacename[32]; if (virRandomInitialize(time(NULL) ^ getpid()) == -1) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Failed to initialize random generator " "when creating iscsi interface")); goto out; @@ -280,7 +275,7 @@ virStorageBackendCreateIfaceIQN(virConnectPtr conn, * We will just rely on whether the interface got created * properly. */ if (virRun(cmdargv1, &exitstatus) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to run command '%s' to create new iscsi interface"), cmdargv1[0]); goto out; @@ -296,14 +291,14 @@ virStorageBackendCreateIfaceIQN(virConnectPtr conn, * returned an exit status of > 0, even if they succeeded. We will just * rely on whether iface file got updated properly. */ if (virRun(cmdargv2, &exitstatus) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to run command '%s' to update iscsi interface with IQN '%s'"), cmdargv1[0], pool->def->source.initiator.iqn); goto out; } /* Check again to make sure the interface was created. */ - if (virStorageBackendIQNFound(conn, pool, ifacename) != IQN_FOUND) { + if (virStorageBackendIQNFound(pool, ifacename) != IQN_FOUND) { VIR_DEBUG("Failed to find interface '%s' with IQN '%s' " "after attempting to create it", &temp_ifacename[0], pool->def->source.initiator.iqn); @@ -323,20 +318,19 @@ out: static int -virStorageBackendISCSIConnectionIQN(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSIConnectionIQN(virStoragePoolObjPtr pool, const char *portal, const char *action) { int ret = -1; char *ifacename = NULL; - switch (virStorageBackendIQNFound(conn, pool, &ifacename)) { + switch (virStorageBackendIQNFound(pool, &ifacename)) { case IQN_FOUND: VIR_DEBUG("ifacename: '%s'", ifacename); break; case IQN_MISSING: - if (virStorageBackendCreateIfaceIQN(conn, pool, &ifacename) != 0) { + if (virStorageBackendCreateIfaceIQN(pool, &ifacename) != 0) { goto out; } break; @@ -349,7 +343,7 @@ virStorageBackendISCSIConnectionIQN(virConnectPtr conn, ISCSIADM, "--mode", "discovery", "--type", "sendtargets", "--portal", portal, NULL }; if (virRun(sendtargets, NULL) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to run %s to get target list"), sendtargets[0]); goto out; @@ -362,7 +356,7 @@ virStorageBackendISCSIConnectionIQN(virConnectPtr conn, }; if (virRun(cmdargv, NULL) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to run command '%s' with action '%s'"), cmdargv[0], action); goto out; @@ -377,8 +371,7 @@ out: static int -virStorageBackendISCSIConnection(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSIConnection(virStoragePoolObjPtr pool, const char *portal, const char *action) { @@ -386,7 +379,7 @@ virStorageBackendISCSIConnection(virConnectPtr conn, if (pool->def->source.initiator.iqn != NULL) { - ret = virStorageBackendISCSIConnectionIQN(conn, pool, portal, action); + ret = virStorageBackendISCSIConnectionIQN(pool, portal, action); } else { @@ -406,8 +399,7 @@ virStorageBackendISCSIConnection(virConnectPtr conn, static int -virStorageBackendISCSIFindLUs(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSIFindLUs(virStoragePoolObjPtr pool, const char *session) { char sysfs_path[PATH_MAX]; @@ -425,7 +417,7 @@ virStorageBackendISCSIFindLUs(virConnectPtr conn, retval = -1; } - if (virStorageBackendSCSIFindLUs(conn, pool, host) < 0) { + if (virStorageBackendSCSIFindLUs(pool, host) < 0) { virReportSystemError(errno, _("Failed to find LUs on host %u"), host); retval = -1; @@ -435,8 +427,7 @@ virStorageBackendISCSIFindLUs(virConnectPtr conn, } static int -virStorageBackendISCSIRescanLUNs(virConnectPtr conn ATTRIBUTE_UNUSED, - virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, +virStorageBackendISCSIRescanLUNs(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, const char *session) { const char *const cmdargv[] = { @@ -451,8 +442,7 @@ virStorageBackendISCSIRescanLUNs(virConnectPtr conn ATTRIBUTE_UNUSED, static int -virStorageBackendISCSILogin(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSILogin(virStoragePoolObjPtr pool, const char *portal) { const char *const cmdsendtarget[] = { @@ -463,26 +453,23 @@ virStorageBackendISCSILogin(virConnectPtr conn, if (virRun(cmdsendtarget, NULL) < 0) return -1; - return virStorageBackendISCSIConnection(conn, pool, portal, "--login"); + return virStorageBackendISCSIConnection(pool, portal, "--login"); } static int -virStorageBackendISCSILogout(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendISCSILogout(virStoragePoolObjPtr pool, const char *portal) { - return virStorageBackendISCSIConnection(conn, pool, portal, "--logout"); + return virStorageBackendISCSIConnection(pool, portal, "--logout"); } static char * -virStorageBackendISCSIPortal(virConnectPtr conn, - virStoragePoolObjPtr pool) +virStorageBackendISCSIPortal(virStoragePoolObjPtr pool) { char ipaddr[NI_MAXHOST]; char *portal; - if (virStorageBackendISCSITargetIP(conn, - pool->def->source.host.name, + if (virStorageBackendISCSITargetIP(pool->def->source.host.name, ipaddr, sizeof(ipaddr)) < 0) return NULL; @@ -499,29 +486,29 @@ virStorageBackendISCSIPortal(virConnectPtr conn, static int -virStorageBackendISCSIStartPool(virConnectPtr conn, +virStorageBackendISCSIStartPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { char *portal = NULL; char *session; if (pool->def->source.host.name == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source host")); return -1; } if (pool->def->source.ndevice != 1 || pool->def->source.devices[0].path == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("missing source device")); return -1; } - if ((session = virStorageBackendISCSISession(conn, pool, 1)) == NULL) { - if ((portal = virStorageBackendISCSIPortal(conn, pool)) == NULL) + if ((session = virStorageBackendISCSISession(pool, 1)) == NULL) { + if ((portal = virStorageBackendISCSIPortal(pool)) == NULL) return -1; - if (virStorageBackendISCSILogin(conn, pool, portal) < 0) { + if (virStorageBackendISCSILogin(pool, portal) < 0) { VIR_FREE(portal); return -1; } @@ -533,18 +520,18 @@ virStorageBackendISCSIStartPool(virConnectPtr conn, } static int -virStorageBackendISCSIRefreshPool(virConnectPtr conn, +virStorageBackendISCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { char *session = NULL; pool->def->allocation = pool->def->capacity = pool->def->available = 0; - if ((session = virStorageBackendISCSISession(conn, pool, 0)) == NULL) + if ((session = virStorageBackendISCSISession(pool, 0)) == NULL) goto cleanup; - if (virStorageBackendISCSIRescanLUNs(conn, pool, session) < 0) + if (virStorageBackendISCSIRescanLUNs(pool, session) < 0) goto cleanup; - if (virStorageBackendISCSIFindLUs(conn, pool, session) < 0) + if (virStorageBackendISCSIFindLUs(pool, session) < 0) goto cleanup; VIR_FREE(session); @@ -557,15 +544,15 @@ virStorageBackendISCSIRefreshPool(virConnectPtr conn, static int -virStorageBackendISCSIStopPool(virConnectPtr conn, +virStorageBackendISCSIStopPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { char *portal; - if ((portal = virStorageBackendISCSIPortal(conn, pool)) == NULL) + if ((portal = virStorageBackendISCSIPortal(pool)) == NULL) return -1; - if (virStorageBackendISCSILogout(conn, pool, portal) < 0) { + if (virStorageBackendISCSILogout(pool, portal) < 0) { VIR_FREE(portal); return -1; } diff --git a/src/storage/storage_backend_logical.c b/src/storage/storage_backend_logical.c index 35bedc0..06238d1 100644 --- a/src/storage/storage_backend_logical.c +++ b/src/storage/storage_backend_logical.c @@ -62,8 +62,7 @@ virStorageBackendLogicalSetActive(virStoragePoolObjPtr pool, static int -virStorageBackendLogicalMakeVol(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendLogicalMakeVol(virStoragePoolObjPtr pool, char **const groups, void *data) { @@ -149,17 +148,17 @@ virStorageBackendLogicalMakeVol(virConnectPtr conn, } if (virStrToLong_ull(groups[4], NULL, 10, &offset) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("malformed volume extent offset value")); return -1; } if (virStrToLong_ull(groups[5], NULL, 10, &length) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("malformed volume extent length value")); return -1; } if (virStrToLong_ull(groups[6], NULL, 10, &size) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("malformed volume extent size value")); return -1; } @@ -172,8 +171,7 @@ virStorageBackendLogicalMakeVol(virConnectPtr conn, } static int -virStorageBackendLogicalFindLVs(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendLogicalFindLVs(virStoragePoolObjPtr pool, virStorageVolDefPtr vol) { /* @@ -208,8 +206,7 @@ virStorageBackendLogicalFindLVs(virConnectPtr conn, int exitstatus; - if (virStorageBackendRunProgRegex(conn, - pool, + if (virStorageBackendRunProgRegex(pool, prog, 1, regexes, @@ -217,13 +214,13 @@ virStorageBackendLogicalFindLVs(virConnectPtr conn, virStorageBackendLogicalMakeVol, vol, &exitstatus) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("lvs command failed")); return -1; } if (exitstatus != 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("lvs command failed with exitstatus %d"), exitstatus); return -1; @@ -233,8 +230,7 @@ virStorageBackendLogicalFindLVs(virConnectPtr conn, } static int -virStorageBackendLogicalRefreshPoolFunc(virConnectPtr conn ATTRIBUTE_UNUSED, - virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, +virStorageBackendLogicalRefreshPoolFunc(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, char **const groups, void *data ATTRIBUTE_UNUSED) { @@ -249,8 +245,7 @@ virStorageBackendLogicalRefreshPoolFunc(virConnectPtr conn ATTRIBUTE_UNUSED, static int -virStorageBackendLogicalFindPoolSourcesFunc(virConnectPtr conn, - virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, +virStorageBackendLogicalFindPoolSourcesFunc(virStoragePoolObjPtr pool ATTRIBUTE_UNUSED, char **const groups, void *data) { @@ -278,8 +273,7 @@ virStorageBackendLogicalFindPoolSourcesFunc(virConnectPtr conn, } if (thisSource == NULL) { - if (!(thisSource = virStoragePoolSourceListNewSource(conn, - sourceList))) + if (!(thisSource = virStoragePoolSourceListNewSource(sourceList))) goto err_no_memory; thisSource->name = vgname; @@ -309,7 +303,7 @@ virStorageBackendLogicalFindPoolSourcesFunc(virConnectPtr conn, } static char * -virStorageBackendLogicalFindPoolSources(virConnectPtr conn, +virStorageBackendLogicalFindPoolSources(virConnectPtr conn ATTRIBUTE_UNUSED, const char *srcSpec ATTRIBUTE_UNUSED, unsigned int flags ATTRIBUTE_UNUSED) { @@ -343,14 +337,14 @@ virStorageBackendLogicalFindPoolSources(virConnectPtr conn, memset(&sourceList, 0, sizeof(sourceList)); sourceList.type = VIR_STORAGE_POOL_LOGICAL; - if (virStorageBackendRunProgRegex(conn, NULL, prog, 1, regexes, vars, + if (virStorageBackendRunProgRegex(NULL, prog, 1, regexes, vars, virStorageBackendLogicalFindPoolSourcesFunc, &sourceList, &exitstatus) < 0) return NULL; - retval = virStoragePoolSourceListFormat(conn, &sourceList); + retval = virStoragePoolSourceListFormat(&sourceList); if (retval == NULL) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, "%s", + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("failed to get source from sourceList")); goto cleanup; } @@ -451,7 +445,7 @@ virStorageBackendLogicalBuildPool(virConnectPtr conn ATTRIBUTE_UNUSED, static int -virStorageBackendLogicalRefreshPool(virConnectPtr conn, +virStorageBackendLogicalRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { /* @@ -478,14 +472,13 @@ virStorageBackendLogicalRefreshPool(virConnectPtr conn, virFileWaitForDevices(); /* Get list of all logical volumes */ - if (virStorageBackendLogicalFindLVs(conn, pool, NULL) < 0) { + if (virStorageBackendLogicalFindLVs(pool, NULL) < 0) { virStoragePoolObjClearVols(pool); return -1; } /* Now get basic volgrp metadata */ - if (virStorageBackendRunProgRegex(conn, - pool, + if (virStorageBackendRunProgRegex(pool, prog, 1, regexes, @@ -579,7 +572,7 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn, const char **cmdargv = cmdargvnew; if (vol->target.encryption != NULL) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support encrypted " "volumes")); return -1; @@ -641,7 +634,7 @@ virStorageBackendLogicalCreateVol(virConnectPtr conn, fd = -1; /* Fill in data about this new vol */ - if (virStorageBackendLogicalFindLVs(conn, pool, vol) < 0) { + if (virStorageBackendLogicalFindLVs(pool, vol) < 0) { virReportSystemError(errno, _("cannot find newly created volume '%s'"), vol->target.path); @@ -666,7 +659,7 @@ virStorageBackendLogicalBuildVolFrom(virConnectPtr conn, { virStorageBackendBuildVolFrom build_func; - build_func = virStorageBackendGetBuildVolFromFunction(conn, vol, inputvol); + build_func = virStorageBackendGetBuildVolFromFunction(vol, inputvol); if (!build_func) return -1; diff --git a/src/storage/storage_backend_mpath.c b/src/storage/storage_backend_mpath.c index 8b8fba5..dbcd6d8 100644 --- a/src/storage/storage_backend_mpath.c +++ b/src/storage/storage_backend_mpath.c @@ -39,8 +39,7 @@ #define VIR_FROM_THIS VIR_FROM_STORAGE static int -virStorageBackendMpathUpdateVolTargetInfo(virConnectPtr conn, - virStorageVolTargetPtr target, +virStorageBackendMpathUpdateVolTargetInfo(virStorageVolTargetPtr target, unsigned long long *allocation, unsigned long long *capacity) { @@ -60,7 +59,7 @@ virStorageBackendMpathUpdateVolTargetInfo(virConnectPtr conn, allocation, capacity) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to update volume target info for '%s'"), target->path); @@ -69,7 +68,7 @@ virStorageBackendMpathUpdateVolTargetInfo(virConnectPtr conn, } if (virStorageBackendUpdateVolTargetFormatFD(target, fd) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to update volume target format for '%s'"), target->path); @@ -86,8 +85,7 @@ out: static int -virStorageBackendMpathNewVol(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendMpathNewVol(virStoragePoolObjPtr pool, const int devnum, const char *dev) { @@ -111,12 +109,11 @@ virStorageBackendMpathNewVol(virConnectPtr conn, goto cleanup; } - if (virStorageBackendMpathUpdateVolTargetInfo(conn, - &vol->target, + if (virStorageBackendMpathUpdateVolTargetInfo(&vol->target, &vol->allocation, &vol->capacity) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to update volume for '%s'"), vol->target.path); goto cleanup; @@ -231,8 +228,7 @@ out: static int -virStorageBackendCreateVols(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendCreateVols(virStoragePoolObjPtr pool, struct dm_names *names) { int retval = 0, is_mpath = 0; @@ -260,8 +256,7 @@ virStorageBackendCreateVols(virConnectPtr conn, goto out; } - virStorageBackendMpathNewVol(conn, - pool, + virStorageBackendMpathNewVol(pool, minor, map_device); @@ -280,8 +275,7 @@ out: static int -virStorageBackendGetMaps(virConnectPtr conn, - virStoragePoolObjPtr pool) +virStorageBackendGetMaps(virStoragePoolObjPtr pool) { int retval = 0; struct dm_task *dmt = NULL; @@ -309,7 +303,7 @@ virStorageBackendGetMaps(virConnectPtr conn, goto out; } - virStorageBackendCreateVols(conn, pool, names); + virStorageBackendCreateVols(pool, names); out: if (dmt != NULL) { @@ -320,7 +314,7 @@ out: static int -virStorageBackendMpathRefreshPool(virConnectPtr conn, +virStorageBackendMpathRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { int retval = 0; @@ -331,7 +325,7 @@ virStorageBackendMpathRefreshPool(virConnectPtr conn, virFileWaitForDevices(); - virStorageBackendGetMaps(conn, pool); + virStorageBackendGetMaps(pool); return retval; } diff --git a/src/storage/storage_backend_scsi.c b/src/storage/storage_backend_scsi.c index 9c13dee..0260818 100644 --- a/src/storage/storage_backend_scsi.c +++ b/src/storage/storage_backend_scsi.c @@ -40,8 +40,7 @@ * the device otherwise. */ static int -getDeviceType(virConnectPtr conn, - uint32_t host, +getDeviceType(uint32_t host, uint32_t bus, uint32_t target, uint32_t lun, @@ -85,7 +84,7 @@ getDeviceType(virConnectPtr conn, * character is not \0, virStrToLong_i complains */ if (virStrToLong_i(typestr, &p, 10, type) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Device type '%s' is not an integer"), typestr); /* Hm, type wasn't an integer; seems strange */ @@ -191,8 +190,7 @@ virStorageBackendSCSIUpdateVolTargetInfo(virStorageVolTargetPtr target, } static int -virStorageBackendSCSINewLun(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendSCSINewLun(virStoragePoolObjPtr pool, uint32_t host, uint32_t bus, uint32_t target, @@ -252,7 +250,7 @@ virStorageBackendSCSINewLun(virConnectPtr conn, &vol->allocation, &vol->capacity) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to update volume for '%s'"), devpath); retval = -1; @@ -289,8 +287,7 @@ out: static int -getNewStyleBlockDevice(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/, - const char *lun_path, +getNewStyleBlockDevice(const char *lun_path, const char *block_name ATTRIBUTE_UNUSED, char **block_device) { @@ -344,8 +341,7 @@ out: static int -getOldStyleBlockDevice(virConnectPtr conn, - const char *lun_path ATTRIBUTE_UNUSED, +getOldStyleBlockDevice(const char *lun_path ATTRIBUTE_UNUSED, const char *block_name, char **block_device) { @@ -356,7 +352,7 @@ getOldStyleBlockDevice(virConnectPtr conn, blockp = strrchr(block_name, ':'); if (blockp == NULL) { /* Hm, wasn't what we were expecting; have to give up */ - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to parse block name %s"), block_name); retval = -1; @@ -379,8 +375,7 @@ out: static int -getBlockDevice(virConnectPtr conn, - uint32_t host, +getBlockDevice(uint32_t host, uint32_t bus, uint32_t target, uint32_t lun, @@ -409,13 +404,11 @@ getBlockDevice(virConnectPtr conn, while ((lun_dirent = readdir(lun_dir))) { if (STREQLEN(lun_dirent->d_name, "block", 5)) { if (strlen(lun_dirent->d_name) == 5) { - retval = getNewStyleBlockDevice(conn, - lun_path, + retval = getNewStyleBlockDevice(lun_path, lun_dirent->d_name, block_device); } else { - retval = getOldStyleBlockDevice(conn, - lun_path, + retval = getOldStyleBlockDevice(lun_path, lun_dirent->d_name, block_device); } @@ -432,8 +425,7 @@ out: static int -processLU(virConnectPtr conn, - virStoragePoolObjPtr pool, +processLU(virStoragePoolObjPtr pool, uint32_t host, uint32_t bus, uint32_t target, @@ -447,8 +439,8 @@ processLU(virConnectPtr conn, VIR_DEBUG(_("Processing LU %u:%u:%u:%u"), host, bus, target, lun); - if (getDeviceType(conn, host, bus, target, lun, &device_type) < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + if (getDeviceType(host, bus, target, lun, &device_type) < 0) { + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to determine if %u:%u:%u:%u is a Direct-Access LUN"), host, bus, target, lun); retval = -1; @@ -468,11 +460,11 @@ processLU(virConnectPtr conn, VIR_DEBUG(_("%u:%u:%u:%u is a Direct-Access LUN"), host, bus, target, lun); - if (getBlockDevice(conn, host, bus, target, lun, &block_device) < 0) { + if (getBlockDevice(host, bus, target, lun, &block_device) < 0) { goto out; } - if (virStorageBackendSCSINewLun(conn, pool, + if (virStorageBackendSCSINewLun(pool, host, bus, target, lun, block_device) < 0) { VIR_DEBUG(_("Failed to create new storage volume for %u:%u:%u:%u"), @@ -492,8 +484,7 @@ out: int -virStorageBackendSCSIFindLUs(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendSCSIFindLUs(virStoragePoolObjPtr pool, uint32_t scanhost) { int retval = 0; @@ -531,7 +522,7 @@ virStorageBackendSCSIFindLUs(virConnectPtr conn, VIR_DEBUG(_("Found LU '%s'"), lun_dirent->d_name); - processLU(conn, pool, scanhost, bus, target, lun); + processLU(pool, scanhost, bus, target, lun); } closedir(devicedir); @@ -627,7 +618,7 @@ out: static int -virStorageBackendSCSIRefreshPool(virConnectPtr conn, +virStorageBackendSCSIRefreshPool(virConnectPtr conn ATTRIBUTE_UNUSED, virStoragePoolObjPtr pool) { int retval = 0; @@ -649,7 +640,7 @@ virStorageBackendSCSIRefreshPool(virConnectPtr conn, goto out; } - virStorageBackendSCSIFindLUs(conn, pool, host); + virStorageBackendSCSIFindLUs(pool, host); out: return retval; diff --git a/src/storage/storage_backend_scsi.h b/src/storage/storage_backend_scsi.h index 8467993..a886660 100644 --- a/src/storage/storage_backend_scsi.h +++ b/src/storage/storage_backend_scsi.h @@ -36,8 +36,7 @@ int virStorageBackendSCSIGetHostNumber(const char *sysfs_path, uint32_t *host); int -virStorageBackendSCSIFindLUs(virConnectPtr conn, - virStoragePoolObjPtr pool, +virStorageBackendSCSIFindLUs(virStoragePoolObjPtr pool, uint32_t scanhost); #endif /* __VIR_STORAGE_BACKEND_SCSI_H__ */ diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c index fd5e51d..6b1045a 100644 --- a/src/storage/storage_driver.c +++ b/src/storage/storage_driver.c @@ -161,8 +161,7 @@ storageDriverStartup(int privileged) { } */ - if (virStoragePoolLoadAllConfigs(NULL, - &driverState->pools, + if (virStoragePoolLoadAllConfigs(&driverState->pools, driverState->configDir, driverState->autostartDir) < 0) goto error; @@ -192,8 +191,7 @@ storageDriverReload(void) { return -1; storageDriverLock(driverState); - virStoragePoolLoadAllConfigs(NULL, - &driverState->pools, + virStoragePoolLoadAllConfigs(&driverState->pools, driverState->configDir, driverState->autostartDir); storageDriverAutostart(driverState); @@ -268,7 +266,7 @@ storagePoolLookupByUUID(virConnectPtr conn, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(conn, VIR_ERR_NO_STORAGE_POOL, + virStorageReportError(VIR_ERR_NO_STORAGE_POOL, "%s", _("no pool with matching uuid")); goto cleanup; } @@ -293,7 +291,7 @@ storagePoolLookupByName(virConnectPtr conn, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(conn, VIR_ERR_NO_STORAGE_POOL, + virStorageReportError(VIR_ERR_NO_STORAGE_POOL, _("no pool with matching name '%s'"), name); goto cleanup; } @@ -439,7 +437,7 @@ storageFindPoolSources(virConnectPtr conn, backend_type = virStoragePoolTypeFromString(type); if (backend_type < 0) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("unknown storage pool type %s"), type); goto cleanup; } @@ -449,7 +447,7 @@ storageFindPoolSources(virConnectPtr conn, goto cleanup; if (!backend->findPoolSources) { - virStorageReportError(conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, _("pool type '%s' does not support source " "discovery"), type); goto cleanup; @@ -472,7 +470,7 @@ static int storagePoolIsActive(virStoragePoolPtr pool) obj = virStoragePoolObjFindByUUID(&driver->pools, pool->uuid); storageDriverUnlock(driver); if (!obj) { - virStorageReportError(pool->conn, VIR_ERR_NO_STORAGE_POOL, NULL); + virStorageReportError(VIR_ERR_NO_STORAGE_POOL, NULL); goto cleanup; } ret = virStoragePoolObjIsActive(obj); @@ -493,7 +491,7 @@ static int storagePoolIsPersistent(virStoragePoolPtr pool) obj = virStoragePoolObjFindByUUID(&driver->pools, pool->uuid); storageDriverUnlock(driver); if (!obj) { - virStorageReportError(pool->conn, VIR_ERR_NO_STORAGE_POOL, NULL); + virStorageReportError(VIR_ERR_NO_STORAGE_POOL, NULL); goto cleanup; } ret = obj->configFile ? 1 : 0; @@ -516,7 +514,7 @@ storagePoolCreate(virConnectPtr conn, virStorageBackendPtr backend; storageDriverLock(driver); - if (!(def = virStoragePoolDefParseString(conn, xml))) + if (!(def = virStoragePoolDefParseString(xml))) goto cleanup; pool = virStoragePoolObjFindByUUID(&driver->pools, def->uuid); @@ -524,7 +522,7 @@ storagePoolCreate(virConnectPtr conn, pool = virStoragePoolObjFindByName(&driver->pools, def->name); if (pool) { - virStorageReportError(conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool already exists")); virStoragePoolObjUnlock(pool); pool = NULL; @@ -534,7 +532,7 @@ storagePoolCreate(virConnectPtr conn, if ((backend = virStorageBackendForType(def->type)) == NULL) goto cleanup; - if (!(pool = virStoragePoolObjAssignDef(conn, &driver->pools, def))) + if (!(pool = virStoragePoolObjAssignDef(&driver->pools, def))) goto cleanup; def = NULL; @@ -574,16 +572,16 @@ storagePoolDefine(virConnectPtr conn, virStoragePoolPtr ret = NULL; storageDriverLock(driver); - if (!(def = virStoragePoolDefParseString(conn, xml))) + if (!(def = virStoragePoolDefParseString(xml))) goto cleanup; if (virStorageBackendForType(def->type) == NULL) goto cleanup; - if (!(pool = virStoragePoolObjAssignDef(conn, &driver->pools, def))) + if (!(pool = virStoragePoolObjAssignDef(&driver->pools, def))) goto cleanup; - if (virStoragePoolObjSaveDef(conn, driver, pool, def) < 0) { + if (virStoragePoolObjSaveDef(driver, pool, def) < 0) { virStoragePoolObjRemove(&driver->pools, pool); def = NULL; goto cleanup; @@ -609,25 +607,25 @@ storagePoolUndefine(virStoragePoolPtr obj) { storageDriverLock(driver); pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("pool is still active")); goto cleanup; } if (pool->asyncjobs > 0) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("pool '%s' has asynchronous jobs running."), pool->def->name); goto cleanup; } - if (virStoragePoolObjDeleteDef(obj->conn, pool) < 0) + if (virStoragePoolObjDeleteDef(pool) < 0) goto cleanup; if (unlink(pool->autostartLink) < 0 && errno != ENOENT && errno != ENOTDIR) { @@ -663,7 +661,7 @@ storagePoolStart(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -672,7 +670,7 @@ storagePoolStart(virStoragePoolPtr obj, goto cleanup; if (virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("pool already active")); goto cleanup; } @@ -708,7 +706,7 @@ storagePoolBuild(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -717,7 +715,7 @@ storagePoolBuild(virStoragePoolPtr obj, goto cleanup; if (virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is already active")); goto cleanup; } @@ -745,7 +743,7 @@ storagePoolDestroy(virStoragePoolPtr obj) { pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -754,13 +752,13 @@ storagePoolDestroy(virStoragePoolPtr obj) { goto cleanup; if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } if (pool->asyncjobs > 0) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("pool '%s' has asynchronous jobs running."), pool->def->name); goto cleanup; @@ -801,7 +799,7 @@ storagePoolDelete(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -810,20 +808,20 @@ storagePoolDelete(virStoragePoolPtr obj, goto cleanup; if (virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is still active")); goto cleanup; } if (pool->asyncjobs > 0) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("pool '%s' has asynchronous jobs running."), pool->def->name); goto cleanup; } if (!backend->deletePool) { - virStorageReportError(obj->conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("pool does not support volume delete")); goto cleanup; } @@ -850,7 +848,7 @@ storagePoolRefresh(virStoragePoolPtr obj, pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -859,13 +857,13 @@ storagePoolRefresh(virStoragePoolPtr obj, goto cleanup; if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } if (pool->asyncjobs > 0) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("pool '%s' has asynchronous jobs running."), pool->def->name); goto cleanup; @@ -906,7 +904,7 @@ storagePoolGetInfo(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } @@ -942,12 +940,12 @@ storagePoolDumpXML(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } - ret = virStoragePoolDefFormat(obj->conn, pool->def); + ret = virStoragePoolDefFormat(pool->def); cleanup: if (pool) @@ -967,7 +965,7 @@ storagePoolGetAutostart(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no pool with matching uuid")); goto cleanup; } @@ -996,13 +994,13 @@ storagePoolSetAutostart(virStoragePoolPtr obj, pool = virStoragePoolObjFindByUUID(&driver->pools, obj->uuid); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no pool with matching uuid")); goto cleanup; } if (!pool->configFile) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_ARG, + virStorageReportError(VIR_ERR_INVALID_ARG, "%s", _("pool has no config file")); goto cleanup; } @@ -1058,13 +1056,13 @@ storagePoolNumVolumes(virStoragePoolPtr obj) { storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1091,13 +1089,13 @@ storagePoolListVolumes(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1136,13 +1134,13 @@ storageVolumeLookupByName(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1150,8 +1148,8 @@ storageVolumeLookupByName(virStoragePoolPtr obj, vol = virStorageVolDefFindByName(pool, name); if (!vol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, - _("no storage vol with matching name '%s'"), + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, + _("no storage vol with matching name '%s'"), name); goto cleanup; } @@ -1190,7 +1188,7 @@ storageVolumeLookupByKey(virConnectPtr conn, storageDriverUnlock(driver); if (!ret) - virStorageReportError(conn, VIR_ERR_INVALID_STORAGE_VOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_VOL, "%s", _("no storage vol with matching key")); return ret; @@ -1236,7 +1234,7 @@ storageVolumeLookupByPath(virConnectPtr conn, } if (!ret) - virStorageReportError(conn, VIR_ERR_INVALID_STORAGE_VOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_VOL, "%s", _("no storage vol with matching path")); cleanup: @@ -1261,13 +1259,13 @@ storageVolumeCreateXML(virStoragePoolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1275,12 +1273,12 @@ storageVolumeCreateXML(virStoragePoolPtr obj, if ((backend = virStorageBackendForType(pool->def->type)) == NULL) goto cleanup; - voldef = virStorageVolDefParseString(obj->conn, pool->def, xmldesc); + voldef = virStorageVolDefParseString(pool->def, xmldesc); if (voldef == NULL) goto cleanup; if (virStorageVolDefFindByName(pool, voldef->name)) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("storage vol already exists")); goto cleanup; } @@ -1292,7 +1290,7 @@ storageVolumeCreateXML(virStoragePoolPtr obj, } if (!backend->createVol) { - virStorageReportError(obj->conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support volume " "creation")); goto cleanup; @@ -1382,26 +1380,26 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj, } storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (STRNEQ(obj->name, vobj->pool) && !origpool) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_POOL, - _("no storage pool with matching name '%s'"), + virStorageReportError(VIR_ERR_NO_STORAGE_POOL, + _("no storage pool with matching name '%s'"), vobj->pool); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } if (origpool && !virStoragePoolObjIsActive(origpool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1411,18 +1409,18 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj, origvol = virStorageVolDefFindByName(origpool ? origpool : pool, vobj->name); if (!origvol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, - _("no storage vol with matching name '%s'"), + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, + _("no storage vol with matching name '%s'"), vobj->name); goto cleanup; } - newvol = virStorageVolDefParseString(obj->conn, pool->def, xmldesc); + newvol = virStorageVolDefParseString(pool->def, xmldesc); if (newvol == NULL) goto cleanup; if (virStorageVolDefFindByName(pool, newvol->name)) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, _("storage volume name '%s' already in use."), newvol->name); goto cleanup; @@ -1438,13 +1436,13 @@ storageVolumeCreateXMLFrom(virStoragePoolPtr obj, newvol->allocation = origvol->capacity; if (!backend->buildVolFrom) { - virStorageReportError(obj->conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support volume creation from an existing volume")); goto cleanup; } if (origvol->building) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("volume '%s' is still being allocated."), origvol->name); goto cleanup; @@ -1535,13 +1533,13 @@ storageVolumeDelete(virStorageVolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1552,21 +1550,21 @@ storageVolumeDelete(virStorageVolPtr obj, vol = virStorageVolDefFindByName(pool, obj->name); if (!vol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, _("no storage vol with matching name '%s'"), obj->name); goto cleanup; } if (vol->building) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, _("volume '%s' is still being allocated."), vol->name); goto cleanup; } if (!backend->deleteVol) { - virStorageReportError(obj->conn, VIR_ERR_NO_SUPPORT, + virStorageReportError(VIR_ERR_NO_SUPPORT, "%s", _("storage pool does not support vol deletion")); goto cleanup; @@ -1614,13 +1612,13 @@ storageVolumeGetInfo(virStorageVolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1628,8 +1626,8 @@ storageVolumeGetInfo(virStorageVolPtr obj, vol = virStorageVolDefFindByName(pool, obj->name); if (!vol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, - _("no storage vol with matching name '%s'"), + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, + _("no storage vol with matching name '%s'"), obj->name); goto cleanup; } @@ -1667,13 +1665,13 @@ storageVolumeGetXMLDesc(virStorageVolPtr obj, storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1681,7 +1679,7 @@ storageVolumeGetXMLDesc(virStorageVolPtr obj, vol = virStorageVolDefFindByName(pool, obj->name); if (!vol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, _("no storage vol with matching name '%s'"), obj->name); goto cleanup; @@ -1694,7 +1692,7 @@ storageVolumeGetXMLDesc(virStorageVolPtr obj, backend->refreshVol(obj->conn, pool, vol) < 0) goto cleanup; - ret = virStorageVolDefFormat(obj->conn, pool->def, vol); + ret = virStorageVolDefFormat(pool->def, vol); cleanup: if (pool) @@ -1714,13 +1712,13 @@ storageVolumeGetPath(virStorageVolPtr obj) { pool = virStoragePoolObjFindByName(&driver->pools, obj->pool); storageDriverUnlock(driver); if (!pool) { - virStorageReportError(obj->conn, VIR_ERR_INVALID_STORAGE_POOL, + virStorageReportError(VIR_ERR_INVALID_STORAGE_POOL, "%s", _("no storage pool with matching uuid")); goto cleanup; } if (!virStoragePoolObjIsActive(pool)) { - virStorageReportError(obj->conn, VIR_ERR_INTERNAL_ERROR, + virStorageReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("storage pool is not active")); goto cleanup; } @@ -1728,8 +1726,8 @@ storageVolumeGetPath(virStorageVolPtr obj) { vol = virStorageVolDefFindByName(pool, obj->name); if (!vol) { - virStorageReportError(obj->conn, VIR_ERR_NO_STORAGE_VOL, - _("no storage vol with matching name '%s'"), + virStorageReportError(VIR_ERR_NO_STORAGE_VOL, + _("no storage vol with matching name '%s'"), obj->name); goto cleanup; } diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 5cecb93..ac0818b 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -577,10 +577,10 @@ static int testOpenDefault(virConnectPtr conn) { interfaceobj->active = 1; virInterfaceObjUnlock(interfaceobj); - if (!(pooldef = virStoragePoolDefParseString(conn, defaultPoolXML))) + if (!(pooldef = virStoragePoolDefParseString(defaultPoolXML))) goto error; - if (!(poolobj = virStoragePoolObjAssignDef(conn, &privconn->pools, + if (!(poolobj = virStoragePoolObjAssignDef(&privconn->pools, pooldef))) { virStoragePoolDefFree(pooldef); goto error; @@ -648,8 +648,7 @@ static char *testBuildFilename(const char *relativeTo, } } -static int testOpenVolumesForPool(virConnectPtr conn, - xmlDocPtr xml, +static int testOpenVolumesForPool(xmlDocPtr xml, xmlXPathContextPtr ctxt, const char *file, virStoragePoolObjPtr pool, @@ -684,12 +683,12 @@ static int testOpenVolumesForPool(virConnectPtr conn, goto error; } - def = virStorageVolDefParseFile(conn, pool->def, absFile); + def = virStorageVolDefParseFile(pool->def, absFile); VIR_FREE(absFile); if (!def) goto error; } else { - if ((def = virStorageVolDefParseNode(conn, pool->def, xml, + if ((def = virStorageVolDefParseNode(pool->def, xml, vols[i])) == NULL) { goto error; } @@ -1008,18 +1007,18 @@ static int testOpenFromFile(virConnectPtr conn, goto error; } - def = virStoragePoolDefParseFile(conn, absFile); + def = virStoragePoolDefParseFile(absFile); VIR_FREE(absFile); if (!def) goto error; } else { - if ((def = virStoragePoolDefParseNode(conn, xml, + if ((def = virStoragePoolDefParseNode(xml, pools[i])) == NULL) { goto error; } } - if (!(pool = virStoragePoolObjAssignDef(conn, &privconn->pools, + if (!(pool = virStoragePoolObjAssignDef(&privconn->pools, def))) { virStoragePoolDefFree(def); goto error; @@ -1032,7 +1031,7 @@ static int testOpenFromFile(virConnectPtr conn, pool->active = 1; /* Find storage volumes */ - if (testOpenVolumesForPool(conn, xml, ctxt, file, pool, i+1) < 0) { + if (testOpenVolumesForPool(xml, ctxt, file, pool, i+1) < 0) { virStoragePoolObjUnlock(pool); goto error; } @@ -3727,7 +3726,7 @@ testStorageFindPoolSources(virConnectPtr conn, } if (srcSpec) { - source = virStoragePoolDefParseSourceString(conn, srcSpec, pool_type); + source = virStoragePoolDefParseSourceString(srcSpec, pool_type); if (!source) goto cleanup; } @@ -3773,7 +3772,7 @@ testStoragePoolCreate(virConnectPtr conn, virStoragePoolPtr ret = NULL; testDriverLock(privconn); - if (!(def = virStoragePoolDefParseString(conn, xml))) + if (!(def = virStoragePoolDefParseString(xml))) goto cleanup; pool = virStoragePoolObjFindByUUID(&privconn->pools, def->uuid); @@ -3785,7 +3784,7 @@ testStoragePoolCreate(virConnectPtr conn, goto cleanup; } - if (!(pool = virStoragePoolObjAssignDef(conn, &privconn->pools, def))) + if (!(pool = virStoragePoolObjAssignDef(&privconn->pools, def))) goto cleanup; def = NULL; @@ -3816,14 +3815,14 @@ testStoragePoolDefine(virConnectPtr conn, virStoragePoolPtr ret = NULL; testDriverLock(privconn); - if (!(def = virStoragePoolDefParseString(conn, xml))) + if (!(def = virStoragePoolDefParseString(xml))) goto cleanup; def->capacity = defaultPoolCap; def->allocation = defaultPoolAlloc; def->available = defaultPoolCap - defaultPoolAlloc; - if (!(pool = virStoragePoolObjAssignDef(conn, &privconn->pools, def))) + if (!(pool = virStoragePoolObjAssignDef(&privconn->pools, def))) goto cleanup; def = NULL; @@ -4055,7 +4054,7 @@ testStoragePoolDumpXML(virStoragePoolPtr pool, goto cleanup; } - ret = virStoragePoolDefFormat(pool->conn, privpool->def); + ret = virStoragePoolDefFormat(privpool->def); cleanup: if (privpool) @@ -4341,7 +4340,7 @@ testStorageVolumeCreateXML(virStoragePoolPtr pool, goto cleanup; } - privvol = virStorageVolDefParseString(pool->conn, privpool->def, xmldesc); + privvol = virStorageVolDefParseString(privpool->def, xmldesc); if (privvol == NULL) goto cleanup; @@ -4422,7 +4421,7 @@ testStorageVolumeCreateXMLFrom(virStoragePoolPtr pool, goto cleanup; } - privvol = virStorageVolDefParseString(pool->conn, privpool->def, xmldesc); + privvol = virStorageVolDefParseString(privpool->def, xmldesc); if (privvol == NULL) goto cleanup; @@ -4645,7 +4644,7 @@ testStorageVolumeGetXMLDesc(virStorageVolPtr vol, goto cleanup; } - ret = virStorageVolDefFormat(vol->conn, privpool->def, privvol); + ret = virStorageVolDefFormat(privpool->def, privvol); cleanup: if (privpool) diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c index 06f6802..0965021 100644 --- a/src/vbox/vbox_tmpl.c +++ b/src/vbox/vbox_tmpl.c @@ -6578,7 +6578,7 @@ static virStorageVolPtr vboxStorageVolCreateXML(virStoragePoolPtr pool, memset(&poolDef, 0, sizeof(poolDef)); poolDef.type = VIR_STORAGE_POOL_DIR; - if ((def = virStorageVolDefParseString(pool->conn, &poolDef, xml)) == NULL) + if ((def = virStorageVolDefParseString(&poolDef, xml)) == NULL) goto cleanup; if ( !def->name @@ -6922,7 +6922,7 @@ static char *vboxStorageVolGetXMLDesc(virStorageVolPtr vol, unsigned int flags A vboxIIDUtf16Free(hddIID); if (defOk) - ret = virStorageVolDefFormat(vol->conn, &pool, &def); + ret = virStorageVolDefFormat(&pool, &def); return ret; } diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c index a7370c7..4550407 100644 --- a/tests/storagepoolxml2xmltest.c +++ b/tests/storagepoolxml2xmltest.c @@ -33,10 +33,10 @@ static int testCompareXMLToXMLFiles(const char *inxml, const char *outxml) { if (virtTestLoadFile(outxml, &outXmlPtr, MAX_FILE) < 0) goto fail; - if (!(dev = virStoragePoolDefParseString(NULL, inXmlData))) + if (!(dev = virStoragePoolDefParseString(inXmlData))) goto fail; - if (!(actual = virStoragePoolDefFormat(NULL, dev))) + if (!(actual = virStoragePoolDefFormat(dev))) goto fail; if (STRNEQ(outXmlData, actual)) { diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c index 17bf009..ffa5dfe 100644 --- a/tests/storagevolxml2xmltest.c +++ b/tests/storagevolxml2xmltest.c @@ -40,13 +40,13 @@ static int testCompareXMLToXMLFiles(const char *poolxml, if (virtTestLoadFile(outxml, &outXmlPtr, MAX_FILE) < 0) goto fail; - if (!(pool = virStoragePoolDefParseString(NULL, poolXmlData))) + if (!(pool = virStoragePoolDefParseString(poolXmlData))) goto fail; - if (!(dev = virStorageVolDefParseString(NULL, pool, inXmlData))) + if (!(dev = virStorageVolDefParseString(pool, inXmlData))) goto fail; - if (!(actual = virStorageVolDefFormat(NULL, pool, dev))) + if (!(actual = virStorageVolDefFormat(pool, dev))) goto fail; if (STRNEQ(outXmlData, actual)) { -- 1.6.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list