]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Add check for non scsi_host parent during vport delete
authorJohn Ferlan <jferlan@redhat.com>
Tue, 4 Apr 2017 18:06:42 +0000 (14:06 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Thu, 13 Apr 2017 14:26:37 +0000 (10:26 -0400)
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

$

src/conf/node_device_conf.c

index 330d5d92c5f909f5364f1a969261581319854339..d2ad6352b2acc7940d846a14cc5d6c73d95b3c47 100644 (file)
@@ -2075,6 +2075,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;
     }