Remove virConnectPtr from all node device XML APIs

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 node_device_conf.{h,c} and update all callers to
match
This commit is contained in:
Daniel P. Berrange 2010-02-10 10:40:18 +00:00
parent 0677e11125
commit 99edc443e9
9 changed files with 155 additions and 196 deletions

View File

@ -60,8 +60,7 @@ VIR_ENUM_IMPL(virNodeDevHBACap, VIR_NODE_DEV_CAP_HBA_LAST,
static int
virNodeDevCapsDefParseString(virConnectPtr conn,
const char *xpath,
virNodeDevCapsDefParseString(const char *xpath,
xmlXPathContextPtr ctxt,
char **string,
virNodeDeviceDefPtr def,
@ -71,7 +70,7 @@ virNodeDevCapsDefParseString(virConnectPtr conn,
s = virXPathString(xpath, ctxt);
if (s == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
missing_error_fmt,
def->name);
return -1;
@ -174,8 +173,7 @@ void virNodeDeviceObjListFree(virNodeDeviceObjListPtr devs)
devs->count = 0;
}
virNodeDeviceObjPtr virNodeDeviceAssignDef(virConnectPtr conn,
virNodeDeviceObjListPtr devs,
virNodeDeviceObjPtr virNodeDeviceAssignDef(virNodeDeviceObjListPtr devs,
const virNodeDeviceDefPtr def)
{
virNodeDeviceObjPtr device;
@ -192,7 +190,7 @@ virNodeDeviceObjPtr virNodeDeviceAssignDef(virConnectPtr conn,
}
if (virMutexInit(&device->lock) < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("cannot initialize mutex"));
VIR_FREE(device);
return NULL;
@ -241,8 +239,7 @@ void virNodeDeviceObjRemove(virNodeDeviceObjListPtr devs,
}
}
char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/,
const virNodeDeviceDefPtr def)
char *virNodeDeviceDefFormat(const virNodeDeviceDefPtr def)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
virNodeDevCapsDefPtr caps;
@ -500,8 +497,7 @@ char *virNodeDeviceDefFormat(virConnectPtr conn ATTRIBUTE_UNUSED /*TEMPORARY*/,
}
static int
virNodeDevCapsDefParseULong(virConnectPtr conn,
const char *xpath,
virNodeDevCapsDefParseULong(const char *xpath,
xmlXPathContextPtr ctxt,
unsigned *value,
virNodeDeviceDefPtr def,
@ -513,7 +509,7 @@ virNodeDevCapsDefParseULong(virConnectPtr conn,
ret = virXPathULong(xpath, ctxt, &val);
if (ret < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
ret == -1 ? missing_error_fmt : invalid_error_fmt,
def->name);
return -1;
@ -524,8 +520,7 @@ virNodeDevCapsDefParseULong(virConnectPtr conn,
}
static int
virNodeDevCapsDefParseULongLong(virConnectPtr conn,
const char *xpath,
virNodeDevCapsDefParseULongLong(const char *xpath,
xmlXPathContextPtr ctxt,
unsigned long long *value,
virNodeDeviceDefPtr def,
@ -537,7 +532,7 @@ virNodeDevCapsDefParseULongLong(virConnectPtr conn,
ret = virXPathULongLong(xpath, ctxt, &val);
if (ret < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
ret == -1 ? missing_error_fmt : invalid_error_fmt,
def->name);
return -1;
@ -548,8 +543,7 @@ virNodeDevCapsDefParseULongLong(virConnectPtr conn,
}
static int
virNodeDevCapStorageParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapStorageParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -563,7 +557,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
data->storage.block = virXPathString("string(./block[1])", ctxt);
if (!data->storage.block) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("no block device path supplied for '%s'"),
def->name);
goto out;
@ -576,7 +570,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
data->storage.serial = virXPathString("string(./serial[1])", ctxt);
if ((n = virXPathNodeSet("./capability", ctxt, &nodes)) < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("error parsing storage capabilities for '%s'"),
def->name);
goto out;
@ -586,7 +580,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
char *type = virXMLPropString(nodes[i], "type");
if (!type) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("missing storage capability type for '%s'"),
def->name);
goto out;
@ -608,7 +602,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
data->storage.media_label = virXPathString("string(./media_label[1])", ctxt);
val = 0;
if (virNodeDevCapsDefParseULongLong(conn, "number(./media_size[1])", ctxt, &val, def,
if (virNodeDevCapsDefParseULongLong("number(./media_size[1])", ctxt, &val, def,
_("no removable media size supplied for '%s'"),
_("invalid removable media size supplied for '%s'")) < 0) {
ctxt->node = orignode2;
@ -619,7 +613,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
ctxt->node = orignode2;
} else {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown storage capability type '%s' for '%s'"),
type, def->name);
VIR_FREE(type);
@ -631,7 +625,7 @@ virNodeDevCapStorageParseXML(virConnectPtr conn,
if (!(data->storage.flags & VIR_NODE_DEV_CAP_STORAGE_REMOVABLE)) {
val = 0;
if (virNodeDevCapsDefParseULongLong(conn, "number(./size[1])", ctxt, &val, def,
if (virNodeDevCapsDefParseULongLong("number(./size[1])", ctxt, &val, def,
_("no size supplied for '%s'"),
_("invalid size supplied for '%s'")) < 0)
goto out;
@ -646,8 +640,7 @@ out:
}
static int
virNodeDevCapScsiParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapScsiParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -658,25 +651,25 @@ virNodeDevCapScsiParseXML(virConnectPtr conn,
orignode = ctxt->node;
ctxt->node = node;
if (virNodeDevCapsDefParseULong(conn, "number(./host[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./host[1])", ctxt,
&data->scsi.host, def,
_("no SCSI host ID supplied for '%s'"),
_("invalid SCSI host ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./bus[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./bus[1])", ctxt,
&data->scsi.bus, def,
_("no SCSI bus ID supplied for '%s'"),
_("invalid SCSI bus ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./target[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./target[1])", ctxt,
&data->scsi.target, def,
_("no SCSI target ID supplied for '%s'"),
_("invalid SCSI target ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./lun[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./lun[1])", ctxt,
&data->scsi.lun, def,
_("no SCSI LUN ID supplied for '%s'"),
_("invalid SCSI LUN ID supplied for '%s'")) < 0)
@ -692,8 +685,7 @@ out:
static int
virNodeDevCapScsiTargetParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapScsiTargetParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -706,7 +698,7 @@ virNodeDevCapScsiTargetParseXML(virConnectPtr conn,
data->scsi_target.name = virXPathString("string(./name[1])", ctxt);
if (!data->scsi_target.name) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("no target name supplied for '%s'"),
def->name);
goto out;
@ -721,8 +713,7 @@ out:
static int
virNodeDevCapScsiHostParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapScsiHostParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data,
@ -736,7 +727,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
ctxt->node = node;
if (create == EXISTING_DEVICE &&
virNodeDevCapsDefParseULong(conn, "number(./host[1])", ctxt,
virNodeDevCapsDefParseULong("number(./host[1])", ctxt,
&data->scsi_host.host, def,
_("no SCSI host ID supplied for '%s'"),
_("invalid SCSI host ID supplied for '%s'")) < 0) {
@ -744,7 +735,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
}
if ((n = virXPathNodeSet("./capability", ctxt, &nodes)) < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("error parsing SCSI host capabilities for '%s'"),
def->name);
goto out;
@ -754,7 +745,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
type = virXMLPropString(nodes[i], "type");
if (!type) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("missing SCSI host capability type for '%s'"),
def->name);
goto out;
@ -773,7 +764,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
orignode2 = ctxt->node;
ctxt->node = nodes[i];
if (virNodeDevCapsDefParseString(conn, "string(./wwnn[1])",
if (virNodeDevCapsDefParseString("string(./wwnn[1])",
ctxt,
&data->scsi_host.wwnn,
def,
@ -781,7 +772,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
goto out;
}
if (virNodeDevCapsDefParseString(conn, "string(./wwpn[1])",
if (virNodeDevCapsDefParseString("string(./wwpn[1])",
ctxt,
&data->scsi_host.wwpn,
def,
@ -792,7 +783,7 @@ virNodeDevCapScsiHostParseXML(virConnectPtr conn,
ctxt->node = orignode2;
} else {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown SCSI host capability type '%s' for '%s'"),
type, def->name);
goto out;
@ -811,8 +802,7 @@ out:
static int
virNodeDevCapNetParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapNetParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -826,7 +816,7 @@ virNodeDevCapNetParseXML(virConnectPtr conn,
data->net.ifname = virXPathString("string(./interface[1])", ctxt);
if (!data->net.ifname) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("no network interface supplied for '%s'"),
def->name);
goto out;
@ -841,7 +831,7 @@ virNodeDevCapNetParseXML(virConnectPtr conn,
int val = virNodeDevNetCapTypeFromString(tmp);
VIR_FREE(tmp);
if (val < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("invalid network type supplied for '%s'"),
def->name);
goto out;
@ -856,8 +846,7 @@ out:
}
static int
virNodeDevCapUsbInterfaceParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapUsbInterfaceParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -868,25 +857,25 @@ virNodeDevCapUsbInterfaceParseXML(virConnectPtr conn,
orignode = ctxt->node;
ctxt->node = node;
if (virNodeDevCapsDefParseULong(conn, "number(./number[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./number[1])", ctxt,
&data->usb_if.number, def,
_("no USB interface number supplied for '%s'"),
_("invalid USB interface number supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./class[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./class[1])", ctxt,
&data->usb_if._class, def,
_("no USB interface class supplied for '%s'"),
_("invalid USB interface class supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./subclass[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./subclass[1])", ctxt,
&data->usb_if.subclass, def,
_("no USB interface subclass supplied for '%s'"),
_("invalid USB interface subclass supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./protocol[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./protocol[1])", ctxt,
&data->usb_if.protocol, def,
_("no USB interface protocol supplied for '%s'"),
_("invalid USB interface protocol supplied for '%s'")) < 0)
@ -901,8 +890,7 @@ out:
}
static int
virNodeDevCapsDefParseHexId(virConnectPtr conn,
const char *xpath,
virNodeDevCapsDefParseHexId(const char *xpath,
xmlXPathContextPtr ctxt,
unsigned *value,
virNodeDeviceDefPtr def,
@ -914,7 +902,7 @@ virNodeDevCapsDefParseHexId(virConnectPtr conn,
ret = virXPathULongHex(xpath, ctxt, &val);
if (ret < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
ret == -1 ? missing_error_fmt : invalid_error_fmt,
def->name);
return -1;
@ -925,8 +913,7 @@ virNodeDevCapsDefParseHexId(virConnectPtr conn,
}
static int
virNodeDevCapUsbDevParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapUsbDevParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -937,25 +924,25 @@ virNodeDevCapUsbDevParseXML(virConnectPtr conn,
orignode = ctxt->node;
ctxt->node = node;
if (virNodeDevCapsDefParseULong(conn, "number(./bus[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./bus[1])", ctxt,
&data->usb_dev.bus, def,
_("no USB bus number supplied for '%s'"),
_("invalid USB bus number supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./device[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./device[1])", ctxt,
&data->usb_dev.device, def,
_("no USB device number supplied for '%s'"),
_("invalid USB device number supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseHexId(conn, "string(./vendor[1]/@id)", ctxt,
if (virNodeDevCapsDefParseHexId("string(./vendor[1]/@id)", ctxt,
&data->usb_dev.vendor, def,
_("no USB vendor ID supplied for '%s'"),
_("invalid USB vendor ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseHexId(conn, "string(./product[1]/@id)", ctxt,
if (virNodeDevCapsDefParseHexId("string(./product[1]/@id)", ctxt,
&data->usb_dev.product, def,
_("no USB product ID supplied for '%s'"),
_("invalid USB product ID supplied for '%s'")) < 0)
@ -971,8 +958,7 @@ out:
}
static int
virNodeDevCapPciDevParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapPciDevParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -983,37 +969,37 @@ virNodeDevCapPciDevParseXML(virConnectPtr conn,
orignode = ctxt->node;
ctxt->node = node;
if (virNodeDevCapsDefParseULong(conn, "number(./domain[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./domain[1])", ctxt,
&data->pci_dev.domain, def,
_("no PCI domain ID supplied for '%s'"),
_("invalid PCI domain ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./bus[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./bus[1])", ctxt,
&data->pci_dev.bus, def,
_("no PCI bus ID supplied for '%s'"),
_("invalid PCI bus ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./slot[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./slot[1])", ctxt,
&data->pci_dev.slot, def,
_("no PCI slot ID supplied for '%s'"),
_("invalid PCI slot ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseULong(conn, "number(./function[1])", ctxt,
if (virNodeDevCapsDefParseULong("number(./function[1])", ctxt,
&data->pci_dev.function, def,
_("no PCI function ID supplied for '%s'"),
_("invalid PCI function ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseHexId(conn, "string(./vendor[1]/@id)", ctxt,
if (virNodeDevCapsDefParseHexId("string(./vendor[1]/@id)", ctxt,
&data->pci_dev.vendor, def,
_("no PCI vendor ID supplied for '%s'"),
_("invalid PCI vendor ID supplied for '%s'")) < 0)
goto out;
if (virNodeDevCapsDefParseHexId(conn, "string(./product[1]/@id)", ctxt,
if (virNodeDevCapsDefParseHexId("string(./product[1]/@id)", ctxt,
&data->pci_dev.product, def,
_("no PCI product ID supplied for '%s'"),
_("invalid PCI product ID supplied for '%s'")) < 0)
@ -1029,8 +1015,7 @@ out:
}
static int
virNodeDevCapSystemParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapSystemParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
union _virNodeDevCapData *data)
@ -1050,13 +1035,13 @@ virNodeDevCapSystemParseXML(virConnectPtr conn,
tmp = virXPathString("string(./hardware/uuid[1])", ctxt);
if (!tmp) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("no system UUID supplied for '%s'"), def->name);
goto out;
}
if (virUUIDParse(tmp, data->system.hardware.uuid) < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("malformed uuid element for '%s'"), def->name);
VIR_FREE(tmp);
goto out;
@ -1074,8 +1059,7 @@ out:
}
static virNodeDevCapsDefPtr
virNodeDevCapsDefParseXML(virConnectPtr conn,
xmlXPathContextPtr ctxt,
virNodeDevCapsDefParseXML(xmlXPathContextPtr ctxt,
virNodeDeviceDefPtr def,
xmlNodePtr node,
int create)
@ -1091,13 +1075,13 @@ virNodeDevCapsDefParseXML(virConnectPtr conn,
tmp = virXMLPropString(node, "type");
if (!tmp) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing capability type"));
goto error;
}
if ((val = virNodeDevCapTypeFromString(tmp)) < 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown capability type '%s'"), tmp);
VIR_FREE(tmp);
goto error;
@ -1107,34 +1091,34 @@ virNodeDevCapsDefParseXML(virConnectPtr conn,
switch (caps->type) {
case VIR_NODE_DEV_CAP_SYSTEM:
ret = virNodeDevCapSystemParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapSystemParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_PCI_DEV:
ret = virNodeDevCapPciDevParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapPciDevParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_USB_DEV:
ret = virNodeDevCapUsbDevParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapUsbDevParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_USB_INTERFACE:
ret = virNodeDevCapUsbInterfaceParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapUsbInterfaceParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_NET:
ret = virNodeDevCapNetParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapNetParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_SCSI_HOST:
ret = virNodeDevCapScsiHostParseXML(conn, ctxt, def, node, &caps->data, create);
ret = virNodeDevCapScsiHostParseXML(ctxt, def, node, &caps->data, create);
break;
case VIR_NODE_DEV_CAP_SCSI_TARGET:
ret = virNodeDevCapScsiTargetParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapScsiTargetParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_SCSI:
ret = virNodeDevCapScsiParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapScsiParseXML(ctxt, def, node, &caps->data);
break;
case VIR_NODE_DEV_CAP_STORAGE:
ret = virNodeDevCapStorageParseXML(conn, ctxt, def, node, &caps->data);
ret = virNodeDevCapStorageParseXML(ctxt, def, node, &caps->data);
break;
default:
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("unknown capability type '%d' for '%s'"),
caps->type, def->name);
ret = -1;
@ -1151,7 +1135,7 @@ error:
}
static virNodeDeviceDefPtr
virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create)
virNodeDeviceDefParseXML(xmlXPathContextPtr ctxt, int create)
{
virNodeDeviceDefPtr def;
virNodeDevCapsDefPtr *next_cap;
@ -1168,7 +1152,7 @@ virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create
def->name = virXPathString("string(./name[1])", ctxt);
if (!def->name) {
virNodeDeviceReportError(conn, VIR_ERR_NO_NAME, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NAME, NULL);
goto error;
}
} else {
@ -1186,7 +1170,7 @@ virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create
/* Parse device capabilities */
nodes = NULL;
if ((n = virXPathNodeSet("./capability", ctxt, &nodes)) <= 0) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("no device capabilities for '%s'"),
def->name);
goto error;
@ -1194,7 +1178,7 @@ virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create
next_cap = &def->caps;
for (i = 0 ; i < n ; i++) {
*next_cap = virNodeDevCapsDefParseXML(conn, ctxt, def, nodes[i], create);
*next_cap = virNodeDevCapsDefParseXML(ctxt, def, nodes[i], create);
if (!*next_cap) {
VIR_FREE(nodes);
goto error;
@ -1212,8 +1196,7 @@ virNodeDeviceDefParseXML(virConnectPtr conn, xmlXPathContextPtr ctxt, int create
}
virNodeDeviceDefPtr
virNodeDeviceDefParseNode(virConnectPtr conn,
xmlDocPtr xml,
virNodeDeviceDefParseNode(xmlDocPtr xml,
xmlNodePtr root,
int create)
{
@ -1221,7 +1204,7 @@ virNodeDeviceDefParseNode(virConnectPtr conn,
virNodeDeviceDefPtr def = NULL;
if (!xmlStrEqual(root->name, BAD_CAST "device")) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("incorrect root element"));
return NULL;
}
@ -1233,7 +1216,7 @@ virNodeDeviceDefParseNode(virConnectPtr conn,
}
ctxt->node = root;
def = virNodeDeviceDefParseXML(conn, ctxt, create);
def = virNodeDeviceDefParseXML(ctxt, create);
cleanup:
xmlXPathFreeContext(ctxt);
@ -1247,12 +1230,10 @@ catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) ctx;
if (ctxt) {
virConnectPtr conn = ctxt->_private;
if (virGetLastError() == NULL &&
ctxt->lastError.level == XML_ERR_FATAL &&
ctxt->lastError.message != NULL) {
virNodeDeviceReportError(conn, VIR_ERR_XML_DETAIL,
virNodeDeviceReportError(VIR_ERR_XML_DETAIL,
_("at line %d: %s"),
ctxt->lastError.line,
ctxt->lastError.message);
@ -1263,8 +1244,7 @@ catchXMLError(void *ctx, const char *msg ATTRIBUTE_UNUSED, ...)
static virNodeDeviceDefPtr
virNodeDeviceDefParse(virConnectPtr conn,
const char *str,
virNodeDeviceDefParse(const char *str,
const char *filename,
int create)
{
@ -1278,9 +1258,7 @@ virNodeDeviceDefParse(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 |
@ -1293,19 +1271,19 @@ virNodeDeviceDefParse(virConnectPtr conn,
}
if (!xml) {
if (conn && conn->err.code == VIR_ERR_NONE)
virNodeDeviceReportError(conn, VIR_ERR_XML_ERROR,
"%s", _("failed to parse xml document"));
if (virGetLastError() == NULL)
virNodeDeviceReportError(VIR_ERR_XML_ERROR,
"%s", _("failed to parse xml document"));
goto cleanup;
}
if ((root = xmlDocGetRootElement(xml)) == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("missing root element"));
goto cleanup;
}
def = virNodeDeviceDefParseNode(conn, xml, root, create);
def = virNodeDeviceDefParseNode(xml, root, create);
cleanup:
xmlFreeParserCtxt(pctxt);
@ -1314,27 +1292,24 @@ cleanup:
}
virNodeDeviceDefPtr
virNodeDeviceDefParseString(virConnectPtr conn,
const char *str,
virNodeDeviceDefParseString(const char *str,
int create)
{
return virNodeDeviceDefParse(conn, str, NULL, create);
return virNodeDeviceDefParse(str, NULL, create);
}
virNodeDeviceDefPtr
virNodeDeviceDefParseFile(virConnectPtr conn,
const char *filename,
virNodeDeviceDefParseFile(const char *filename,
int create)
{
return virNodeDeviceDefParse(conn, NULL, filename, create);
return virNodeDeviceDefParse(NULL, filename, create);
}
/*
* Return fc_host dev's WWNN and WWPN
*/
int
virNodeDeviceGetWWNs(virConnectPtr conn,
virNodeDeviceDefPtr def,
virNodeDeviceGetWWNs(virNodeDeviceDefPtr def,
char **wwnn,
char **wwpn)
{
@ -1354,7 +1329,7 @@ virNodeDeviceGetWWNs(virConnectPtr conn,
}
if (cap == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_NO_SUPPORT,
virNodeDeviceReportError(VIR_ERR_NO_SUPPORT,
"%s", _("Device is not a fibre channel HBA"));
ret = -1;
} else if (*wwnn == NULL || *wwpn == NULL) {
@ -1372,8 +1347,7 @@ virNodeDeviceGetWWNs(virConnectPtr conn,
* Return the NPIV dev's parent device name
*/
int
virNodeDeviceGetParentHost(virConnectPtr conn,
const virNodeDeviceObjListPtr devs,
virNodeDeviceGetParentHost(const virNodeDeviceObjListPtr devs,
const char *dev_name,
const char *parent_name,
int *parent_host)
@ -1384,7 +1358,7 @@ virNodeDeviceGetParentHost(virConnectPtr conn,
parent = virNodeDeviceFindByName(devs, parent_name);
if (parent == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("Could not find parent HBA for '%s'"),
dev_name);
ret = -1;
@ -1404,7 +1378,7 @@ virNodeDeviceGetParentHost(virConnectPtr conn,
}
if (cap == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("Parent HBA %s is not capable "
"of vport operations"),
parent->def->name);

View File

@ -217,9 +217,9 @@ struct _virDeviceMonitorState {
void *privateData; /* driver-specific private data */
};
#define virNodeDeviceReportError(conn, code, fmt...) \
virReportErrorHelper(conn, VIR_FROM_NODEDEV, code, __FILE__, \
__FUNCTION__, __LINE__, fmt)
#define virNodeDeviceReportError(code, fmt...) \
virReportErrorHelper(NULL, VIR_FROM_NODEDEV, code, __FILE__, \
__FUNCTION__, __LINE__, fmt)
int virNodeDeviceHasCap(const virNodeDeviceObjPtr dev, const char *cap);
@ -229,34 +229,27 @@ virNodeDeviceObjPtr
virNodeDeviceFindBySysfsPath(const virNodeDeviceObjListPtr devs,
const char *sysfs_path);
virNodeDeviceObjPtr virNodeDeviceAssignDef(virConnectPtr conn,
virNodeDeviceObjListPtr devs,
virNodeDeviceObjPtr virNodeDeviceAssignDef(virNodeDeviceObjListPtr devs,
const virNodeDeviceDefPtr def);
void virNodeDeviceObjRemove(virNodeDeviceObjListPtr devs,
const virNodeDeviceObjPtr dev);
char *virNodeDeviceDefFormat(virConnectPtr conn,
const virNodeDeviceDefPtr def);
char *virNodeDeviceDefFormat(const virNodeDeviceDefPtr def);
virNodeDeviceDefPtr virNodeDeviceDefParseString(virConnectPtr conn,
const char *str,
virNodeDeviceDefPtr virNodeDeviceDefParseString(const char *str,
int create);
virNodeDeviceDefPtr virNodeDeviceDefParseFile(virConnectPtr conn,
const char *filename,
virNodeDeviceDefPtr virNodeDeviceDefParseFile(const char *filename,
int create);
virNodeDeviceDefPtr virNodeDeviceDefParseNode(virConnectPtr conn,
xmlDocPtr xml,
virNodeDeviceDefPtr virNodeDeviceDefParseNode(xmlDocPtr xml,
xmlNodePtr root,
int create);
int virNodeDeviceGetWWNs(virConnectPtr conn,
virNodeDeviceDefPtr def,
int virNodeDeviceGetWWNs(virNodeDeviceDefPtr def,
char **wwnn,
char **wwpn);
int virNodeDeviceGetParentHost(virConnectPtr conn,
const virNodeDeviceObjListPtr devs,
int virNodeDeviceGetParentHost(const virNodeDeviceObjListPtr devs,
const char *dev_name,
const char *parent_name,
int *parent_host);

View File

@ -203,7 +203,7 @@ static virNodeDevicePtr nodeDeviceLookupByName(virConnectPtr conn,
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(conn, VIR_ERR_NO_NODE_DEVICE, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE, NULL);
goto cleanup;
}
@ -274,8 +274,8 @@ static char *nodeDeviceDumpXML(virNodeDevicePtr dev,
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
@ -283,7 +283,7 @@ static char *nodeDeviceDumpXML(virNodeDevicePtr dev,
update_driver_name(obj);
update_caps(obj);
ret = virNodeDeviceDefFormat(dev->conn, obj->def);
ret = virNodeDeviceDefFormat(obj->def);
cleanup:
if (obj)
@ -303,8 +303,8 @@ static char *nodeDeviceGetParent(virNodeDevicePtr dev)
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
@ -314,7 +314,7 @@ static char *nodeDeviceGetParent(virNodeDevicePtr dev)
if (!ret)
virReportOOMError();
} else {
virNodeDeviceReportError(dev->conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("no parent for this device"));
}
@ -338,8 +338,8 @@ static int nodeDeviceNumOfCaps(virNodeDevicePtr dev)
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
@ -369,8 +369,8 @@ nodeDeviceListCaps(virNodeDevicePtr dev, char **const names, int maxnames)
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
@ -397,8 +397,7 @@ cleanup:
static int
nodeDeviceVportCreateDelete(virConnectPtr conn,
const int parent_host,
nodeDeviceVportCreateDelete(const int parent_host,
const char *wwpn,
const char *wwnn,
int operation)
@ -415,7 +414,7 @@ nodeDeviceVportCreateDelete(virConnectPtr conn,
operation_file = LINUX_SYSFS_VPORT_DELETE_POSTFIX;
break;
default:
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid vport operation (%d)"), operation);
retval = -1;
goto cleanup;
@ -462,13 +461,13 @@ cleanup:
static int
get_time(virConnectPtr conn, time_t *t)
get_time(time_t *t)
{
int ret = 0;
*t = time(NULL);
if (*t == (time_t)-1) {
virNodeDeviceReportError(conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("Could not get current time"));
*t = 0;
@ -506,7 +505,7 @@ find_new_device(virConnectPtr conn, const char *wwnn, const char *wwpn)
* doesn't become invalid. */
nodeDeviceUnlock(driver);
get_time(conn, &start);
get_time(&start);
while ((now - start) < LINUX_NEW_DEVICE_WAIT_TIME) {
@ -519,7 +518,7 @@ find_new_device(virConnectPtr conn, const char *wwnn, const char *wwpn)
}
sleep(5);
if (get_time(conn, &now) == -1) {
if (get_time(&now) == -1) {
break;
}
}
@ -542,25 +541,23 @@ nodeDeviceCreateXML(virConnectPtr conn,
nodeDeviceLock(driver);
def = virNodeDeviceDefParseString(conn, xmlDesc, CREATE_DEVICE);
def = virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE);
if (def == NULL) {
goto cleanup;
}
if (virNodeDeviceGetWWNs(conn, def, &wwnn, &wwpn) == -1) {
if (virNodeDeviceGetWWNs(def, &wwnn, &wwpn) == -1) {
goto cleanup;
}
if (virNodeDeviceGetParentHost(conn,
&driver->devs,
if (virNodeDeviceGetParentHost(&driver->devs,
def->name,
def->parent,
&parent_host) == -1) {
goto cleanup;
}
if (nodeDeviceVportCreateDelete(conn,
parent_host,
if (nodeDeviceVportCreateDelete(parent_host,
wwpn,
wwnn,
VPORT_CREATE) == -1) {
@ -572,7 +569,7 @@ nodeDeviceCreateXML(virConnectPtr conn,
* we're returning what we get... */
if (dev == NULL) {
virNodeDeviceReportError(conn, VIR_ERR_NO_NODE_DEVICE, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE, NULL);
}
cleanup:
@ -598,11 +595,11 @@ nodeDeviceDestroy(virNodeDevicePtr dev)
nodeDeviceUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE, NULL);
goto out;
}
if (virNodeDeviceGetWWNs(dev->conn, obj->def, &wwnn, &wwpn) == -1) {
if (virNodeDeviceGetWWNs(obj->def, &wwnn, &wwpn) == -1) {
goto out;
}
@ -620,16 +617,14 @@ nodeDeviceDestroy(virNodeDevicePtr dev)
goto out;
}
if (virNodeDeviceGetParentHost(dev->conn,
&driver->devs,
if (virNodeDeviceGetParentHost(&driver->devs,
dev->name,
parent_name,
&parent_host) == -1) {
goto out;
}
if (nodeDeviceVportCreateDelete(dev->conn,
parent_host,
if (nodeDeviceVportCreateDelete(parent_host,
wwpn,
wwnn,
VPORT_DELETE) == -1) {

View File

@ -465,8 +465,7 @@ static void dev_create(const char *udi)
/* Some devices don't have a path in sysfs, so ignore failure */
get_str_prop(ctx, udi, "linux.sysfs_path", &devicePath);
dev = virNodeDeviceAssignDef(NULL,
&driverState->devs,
dev = virNodeDeviceAssignDef(&driverState->devs,
def);
if (!dev) {

View File

@ -1292,7 +1292,7 @@ static int udevAddOneDevice(struct udev_device *device)
}
nodeDeviceLock(driverState);
dev = virNodeDeviceAssignDef(NULL, &driverState->devs, def);
dev = virNodeDeviceAssignDef(&driverState->devs, def);
nodeDeviceUnlock(driverState);
if (dev == NULL) {
@ -1534,7 +1534,7 @@ static int udevSetupSystemDev(void)
udev_device_unref(device);
dev = virNodeDeviceAssignDef(NULL, &driverState->devs, def);
dev = virNodeDeviceAssignDef(&driverState->devs, def);
if (dev == NULL) {
VIR_ERROR("Failed to create device for '%s'", def->name);
virNodeDeviceDefFree(def);

View File

@ -8377,7 +8377,7 @@ qemudNodeDeviceGetPciInfo (virNodeDevicePtr dev,
if (!xml)
goto out;
def = virNodeDeviceDefParseString(dev->conn, xml, EXISTING_DEVICE);
def = virNodeDeviceDefParseString(xml, EXISTING_DEVICE);
if (!def)
goto out;

View File

@ -594,9 +594,9 @@ static int testOpenDefault(virConnectPtr conn) {
virStoragePoolObjUnlock(poolobj);
/* Init default node device */
if (!(nodedef = virNodeDeviceDefParseString(conn, defaultNodeXML, 0)))
if (!(nodedef = virNodeDeviceDefParseString(defaultNodeXML, 0)))
goto error;
if (!(nodeobj = virNodeDeviceAssignDef(conn, &privconn->devs,
if (!(nodeobj = virNodeDeviceAssignDef(&privconn->devs,
nodedef))) {
virNodeDeviceDefFree(nodedef);
goto error;
@ -1061,15 +1061,15 @@ static int testOpenFromFile(virConnectPtr conn,
goto error;
}
def = virNodeDeviceDefParseFile(conn, absFile, 0);
def = virNodeDeviceDefParseFile(absFile, 0);
VIR_FREE(absFile);
if (!def)
goto error;
} else {
if ((def = virNodeDeviceDefParseNode(conn, xml, devs[i], 0)) == NULL)
if ((def = virNodeDeviceDefParseNode(xml, devs[i], 0)) == NULL)
goto error;
}
if (!(dev = virNodeDeviceAssignDef(conn, &privconn->devs, def))) {
if (!(dev = virNodeDeviceAssignDef(&privconn->devs, def))) {
virNodeDeviceDefFree(def);
goto error;
}
@ -4778,7 +4778,7 @@ testNodeDeviceLookupByName(virConnectPtr conn, const char *name)
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(conn, VIR_ERR_NO_NODE_DEVICE, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE, NULL);
goto cleanup;
}
@ -4803,13 +4803,13 @@ testNodeDeviceDumpXML(virNodeDevicePtr dev,
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
ret = virNodeDeviceDefFormat(dev->conn, obj->def);
ret = virNodeDeviceDefFormat(obj->def);
cleanup:
if (obj)
@ -4829,7 +4829,7 @@ testNodeDeviceGetParent(virNodeDevicePtr dev)
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
@ -4840,7 +4840,7 @@ testNodeDeviceGetParent(virNodeDevicePtr dev)
if (!ret)
virReportOOMError();
} else {
virNodeDeviceReportError(dev->conn, VIR_ERR_INTERNAL_ERROR,
virNodeDeviceReportError(VIR_ERR_INTERNAL_ERROR,
"%s", _("no parent for this device"));
}
@ -4865,8 +4865,8 @@ testNodeDeviceNumOfCaps(virNodeDevicePtr dev)
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
}
@ -4896,7 +4896,7 @@ testNodeDeviceListCaps(virNodeDevicePtr dev, char **const names, int maxnames)
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE,
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE,
_("no node device with matching name '%s'"),
dev->name);
goto cleanup;
@ -4935,18 +4935,17 @@ testNodeDeviceCreateXML(virConnectPtr conn,
testDriverLock(driver);
def = virNodeDeviceDefParseString(conn, xmlDesc, CREATE_DEVICE);
def = virNodeDeviceDefParseString(xmlDesc, CREATE_DEVICE);
if (def == NULL) {
goto cleanup;
}
/* We run these next two simply for validation */
if (virNodeDeviceGetWWNs(conn, def, &wwnn, &wwpn) == -1) {
if (virNodeDeviceGetWWNs(def, &wwnn, &wwpn) == -1) {
goto cleanup;
}
if (virNodeDeviceGetParentHost(conn,
&driver->devs,
if (virNodeDeviceGetParentHost(&driver->devs,
def->name,
def->parent,
&parent_host) == -1) {
@ -4973,7 +4972,7 @@ testNodeDeviceCreateXML(virConnectPtr conn,
}
if (!(obj = virNodeDeviceAssignDef(conn, &driver->devs, def))) {
if (!(obj = virNodeDeviceAssignDef(&driver->devs, def))) {
goto cleanup;
}
virNodeDeviceObjUnlock(obj);
@ -5003,11 +5002,11 @@ testNodeDeviceDestroy(virNodeDevicePtr dev)
testDriverUnlock(driver);
if (!obj) {
virNodeDeviceReportError(dev->conn, VIR_ERR_NO_NODE_DEVICE, NULL);
virNodeDeviceReportError(VIR_ERR_NO_NODE_DEVICE, NULL);
goto out;
}
if (virNodeDeviceGetWWNs(dev->conn, obj->def, &wwnn, &wwpn) == -1) {
if (virNodeDeviceGetWWNs(obj->def, &wwnn, &wwpn) == -1) {
goto out;
}
@ -5024,8 +5023,7 @@ testNodeDeviceDestroy(virNodeDevicePtr dev)
virNodeDeviceObjUnlock(obj);
/* We do this just for basic validation */
if (virNodeDeviceGetParentHost(dev->conn,
&driver->devs,
if (virNodeDeviceGetParentHost(&driver->devs,
dev->name,
parent_name,
&parent_host) == -1) {

View File

@ -1722,7 +1722,7 @@ xenUnifiedNodeDeviceGetPciInfo (virNodeDevicePtr dev,
if (!xml)
goto out;
def = virNodeDeviceDefParseString(dev->conn, xml, EXISTING_DEVICE);
def = virNodeDeviceDefParseString(xml, EXISTING_DEVICE);
if (!def)
goto out;

View File

@ -29,10 +29,10 @@ static int testCompareXMLToXMLFiles(const char *xml) {
if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
goto fail;
if (!(dev = virNodeDeviceDefParseString(NULL, xmlData, EXISTING_DEVICE)))
if (!(dev = virNodeDeviceDefParseString(xmlData, EXISTING_DEVICE)))
goto fail;
if (!(actual = virNodeDeviceDefFormat(NULL, dev)))
if (!(actual = virNodeDeviceDefFormat(dev)))
goto fail;
if (STRNEQ(xmlData, actual)) {