[libvirt] [PATCH 3/8] Remove virConnectPtr from all node device XML APIs

Daniel P. Berrange berrange at redhat.com
Wed Feb 10 13:36:21 UTC 2010


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
---
 src/conf/node_device_conf.c          |  208 +++++++++++++++-------------------
 src/conf/node_device_conf.h          |   27 ++---
 src/node_device/node_device_driver.c |   57 ++++-----
 src/node_device/node_device_hal.c    |    3 +-
 src/node_device/node_device_udev.c   |    4 +-
 src/qemu/qemu_driver.c               |    2 +-
 src/test/test_driver.c               |   44 ++++----
 src/xen/xen_driver.c                 |    2 +-
 tests/nodedevxml2xmltest.c           |    4 +-
 9 files changed, 155 insertions(+), 196 deletions(-)

diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index d04505a..4b65953 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -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);
diff --git a/src/conf/node_device_conf.h b/src/conf/node_device_conf.h
index 318fa3e..3a5432c 100644
--- a/src/conf/node_device_conf.h
+++ b/src/conf/node_device_conf.h
@@ -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);
diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c
index ad5503b..b9f6d17 100644
--- a/src/node_device/node_device_driver.c
+++ b/src/node_device/node_device_driver.c
@@ -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) {
diff --git a/src/node_device/node_device_hal.c b/src/node_device/node_device_hal.c
index 02fcbf6..6cc2864 100644
--- a/src/node_device/node_device_hal.c
+++ b/src/node_device/node_device_hal.c
@@ -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) {
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 76f83bf..68509f4 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -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);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 4cc66be..1b3b271 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -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;
 
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 2f3ef16..5cecb93 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -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) {
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 6f21c6a..d5a0d00 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -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;
 
diff --git a/tests/nodedevxml2xmltest.c b/tests/nodedevxml2xmltest.c
index bf8be7e..2bc6743 100644
--- a/tests/nodedevxml2xmltest.c
+++ b/tests/nodedevxml2xmltest.c
@@ -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)) {
-- 
1.6.6




More information about the libvir-list mailing list