https://bugzilla.redhat.com/show_bug.cgi?id=1420740
If the parent is not a scsi_host, then we can just happily return since
we won't be removing a vport.
Fixes a bug with the following output:
$ virsh pool-destroy host4_hba_pool
error: Failed to destroy pool host4_hba_pool
error: internal error: Invalid adapter name 'pci_0000_10_00_1' for SCSI pool
$
Signed-off-by: John Ferlan <jferlan(a)redhat.com>
---
src/conf/node_device_conf.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index 7d0baa9..cc3fad8 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -2074,6 +2074,13 @@ virNodeDeviceDeleteVport(virConnectPtr conn,
if (!(vhba_parent = virNodeDeviceGetParentName(conn, scsi_host_name)))
goto cleanup;
+ /* If the parent is not a scsi_host, then this is a pool backed
+ * directly to an HBA and there's no vHBA to remove - so we're done */
+ if (!STRPREFIX(vhba_parent, "scsi_host")) {
+ ret = 0;
+ goto cleanup;
+ }
+
if (virSCSIHostGetNumber(vhba_parent, &parent_host) < 0)
goto cleanup;
}
--
2.9.3