libvirt/src/storage
John Ferlan 42a021c120 storage: Ensure fc_host parent matches wwnn/wwpn
https://bugzilla.redhat.com/show_bug.cgi?id=1160565

The existing code assumed that the configuration of a 'parent' attribute
was correct for the createVport path. As it turns out, that may not be
the case which leads errors during the deleteVport path because the
wwnn/wwpn isn't associated with the parent.

With this change the following is reported:

error: Failed to start pool fc_pool_host3
error: XML error: Parent attribute 'scsi_host4' does not match parent 'scsi_host3' determined for the 'scsi_host16' wwnn/wwpn lookup.

for XML as follows:

  <pool type='scsi'>
    <name>fc_pool</name>
    <source>
      <adapter type='fc_host' parent='scsi_host4' wwnn='5001a4aaf3ca174b' wwpn='5001a4a77192b864'/>
    </source>

Where 'nodedev-dumpxml scsi_host16' provides:

  <device>
    <name>scsi_host16</name>
    <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3/vport-3:0-11/host16</path>
    <parent>scsi_host3</parent>
    <capability type='scsi_host'>
      <host>16</host>
      <unique_id>13</unique_id>
      <capability type='fc_host'>
        <wwnn>5001a4aaf3ca174b</wwnn>
        <wwpn>5001a4a77192b864</wwpn>
...

The patch also adjusts the description of the storage pool to describe the
restrictions.

Signed-off-by: John Ferlan <jferlan@redhat.com>
2014-11-12 10:18:28 -05:00
..
parthelper.c Fix spacing around commas 2014-08-22 15:03:39 +02:00
storage_backend_disk.c storage: Resolve Coverity OVERFLOW_BEFORE_WIDEN 2014-09-11 07:33:19 -04:00
storage_backend_disk.h
storage_backend_fs.c storage: Resolve Coverity UNUSED_VALUE 2014-09-11 07:33:19 -04:00
storage_backend_fs.h storage: add file functions for local and block files 2014-02-14 10:47:57 +01:00
storage_backend_gluster.c Do not crash on gluster snapshots with no host name 2014-11-12 09:36:31 +01:00
storage_backend_gluster.h storage: Add storage file backends for gluster 2014-02-14 11:07:23 +01:00
storage_backend_iscsi.c storage: Split out volume wiping as separate backend function 2014-07-17 10:12:34 +02:00
storage_backend_iscsi.h Move functions using iscsiadm to viriscsi.c 2014-03-20 18:04:50 +01:00
storage_backend_logical.c storage: logical: drop useless if 2014-07-21 21:34:14 +04:00
storage_backend_logical.h
storage_backend_mpath.c storage: Split out volume wiping as separate backend function 2014-07-17 10:12:34 +02:00
storage_backend_mpath.h Change file names in comments to match the files they are in 2014-03-10 14:26:04 +01:00
storage_backend_rbd.c Utilize virDomainDiskAuth for storage pools 2014-07-03 17:39:15 -04:00
storage_backend_rbd.h
storage_backend_scsi.c storage: Ensure fc_host parent matches wwnn/wwpn 2014-11-12 10:18:28 -05:00
storage_backend_scsi.h storage: Move virStorageBackendSCSIGetHostNumber into iscsi backend 2013-04-08 18:41:06 +08:00
storage_backend_sheepdog.c conf: track sizes directly in source struct 2014-04-02 06:03:00 -06:00
storage_backend_sheepdog.h Change file names in comments to match the files they are in 2014-03-10 14:26:04 +01:00
storage_backend_zfs.c storage: zfs: implement pool build and delete 2014-09-18 18:08:29 +04:00
storage_backend_zfs.h storage: ZFS support 2014-08-12 19:40:20 +04:00
storage_backend.c fdstream: introduce virFDStreamOpenBlockDevice 2014-08-25 10:46:13 +04:00
storage_backend.h storage: Implement storage driver helper to chown disk images 2014-07-24 09:58:59 +02:00
storage_driver.c Remove use of storagePrivateData from storage driver 2014-11-07 11:12:50 +01:00
storage_driver.h util: storage: Allow metadata crawler to report useful errors 2014-09-24 09:28:29 +02:00