diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 31ca45646c..1c81b48053 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -37,9 +37,12 @@
#include "virbuffer.h"
#include "viruuid.h"
#include "virrandom.h"
+#include "virlog.h"
#define VIR_FROM_THIS VIR_FROM_NODEDEV
+VIR_LOG_INIT("conf.node_device_conf");
+
VIR_ENUM_IMPL(virNodeDevDevnode, VIR_NODE_DEV_DEVNODE_LAST,
"dev",
"link")
@@ -1086,6 +1089,11 @@ virNodeDevCapSCSIHostParseXML(xmlXPathContextPtr ctxt,
}
}
+ if (virNodeDevCapsDefParseString("string(./fabric_wwn[1])",
+ ctxt,
+ &data->scsi_host.fabric_wwn) < 0)
+ VIR_DEBUG("No fabric_wwn defined for '%s'", def->name);
+
ctxt->node = orignode2;
} else {
diff --git a/tests/fchosttest.c b/tests/fchosttest.c
index d083104dcb..51fdcbd478 100644
--- a/tests/fchosttest.c
+++ b/tests/fchosttest.c
@@ -64,6 +64,17 @@ static const char test9_xml[] =
" "
"";
+/* virNodeDeviceCreateXML using "" to find the
+ * vport capable HBA */
+static const char test10_xml[] =
+""
+" "
+" "
+" "
+" "
+" "
+"";
+
/* Test virIsVHBACapable */
static int
test1(const void *data ATTRIBUTE_UNUSED)
@@ -296,6 +307,9 @@ mymain(void)
if (virTestRun("manageVHBAByNodeDevice-parent-wwn", manageVHBAByNodeDevice,
test9_xml) < 0)
ret = -1;
+ if (virTestRun("manageVHBAByNodeDevice-parent-fabric-wwn",
+ manageVHBAByNodeDevice, test10_xml) < 0)
+ ret = -1;
cleanup:
VIR_FREE(fchost_prefix);