Bug 1032218 - /dev/disk/by-path does not account for NPIV paths
/dev/disk/by-path does not account for NPIV paths
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: udev (Show other bugs)
6.5
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Harald Hoyer
Radka Skvarilova
Jana Heves
:
Depends On:
Blocks: 1270825 1266934
  Show dependency treegraph
 
Reported: 2013-11-19 12:56 EST by Dave Allan
Modified: 2016-05-10 20:26 EDT (History)
11 users (show)

See Also:
Fixed In Version: udev-147-2.72.el6
Doc Type: Bug Fix
Doc Text:
`/dev/disk/by-path/` now accounts for NPIV paths Previously, if two or more virtual host bus adapters (HBAs) were created on a single physical HBA, only a single link to the device was created in the `/dev/disk/by-path/` directory instead of one link for each path. As a consequence, creating a *virsh* pool with virtual HBAs by using Fibre Channel N_Port ID Virtualization (NPIV) did not work correctly. With this update, symbolic links in `/dev/disk/by-path/` are created correctly and are unique. Symbolic links in `/dev/disk/by-path/` created by *udev* for logical unit numbers (LUNs) connected through a physical Fibre Channel N_Port stay the same.
Story Points: ---
Clone Of:
: 1266934 (view as bug list)
Environment:
Last Closed: 2016-05-10 20:26:03 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
ls of /dev/disk/by-path (976 bytes, text/plain)
2013-11-19 12:56 EST, Dave Allan
no flags Details
output of cat /proc/scsi/scsi (1.26 KB, text/plain)
2013-11-19 12:56 EST, Dave Allan
no flags Details
ls of /dev/disk/by-id (3.42 KB, text/plain)
2013-11-19 12:57 EST, Dave Allan
no flags Details
output of virsh nodedev-list --tree (shows the device hierarchy) (3.79 KB, text/plain)
2013-11-19 12:58 EST, Dave Allan
no flags Details

  None (edit)
Description Dave Allan 2013-11-19 12:56:04 EST
Created attachment 826223 [details]
ls of /dev/disk/by-path

Description of problem:
If I create two or more virtual host bus adapters on a single physical HBA, only one link gets created in /dev/disk/by-path

I believe this behavior is the result of by-path taking into account different PCI adapters and logical unit serial numbers, but not the scsi host number when creating the links.  Since the PCI BDF and the device serial numbers match, only one link gets created.


/sys/class/block/sdg/device/scsi_device/9\:0\:0\:0/


Version-Release number of selected component (if applicable):
udev-147-2.51.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. create multiple vHBAs on the same physical HBA and expose a target and LUN to the vHBAs

See:
https://fedoraproject.org/wiki/Features/VirtStorageManagement#Create_and_destroy_a_virtual_HBA_with_NPIV

Actual results:
/dev/disk/by-path has only a single link to the device (see attached files)

Expected results:
/dev/disk/by-path has only a link per path to the device

Additional info:
This behavior requires an NPIV capable SAN to reproduce, so please let me know what information I can provide and I'll help in any way I can.
Comment 1 Dave Allan 2013-11-19 12:56:53 EST
Created attachment 826224 [details]
output of cat /proc/scsi/scsi
Comment 2 Dave Allan 2013-11-19 12:57:25 EST
Created attachment 826225 [details]
ls of /dev/disk/by-id
Comment 3 Dave Allan 2013-11-19 12:58:22 EST
Created attachment 826226 [details]
output of virsh nodedev-list --tree (shows the device hierarchy)
Comment 4 Dave Allan 2013-11-19 13:00:39 EST
I didn't quite finish the description before submitting the BZ:

/sys/class/block/sdg/device/scsi_device/9\:0\:0\:0/

shows the relationship between the block device and the SCSI device
Comment 6 RHEL Product and Program Management 2013-11-22 14:02:55 EST
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.
Comment 11 Maurizio Lombardi 2015-10-14 09:00:59 EDT
I'm working on it right now,

So the by-path format /dev/by-path/pci-xxx-fc-<port_name>-<lun> is ambiguous when there are multiple virtual HBAs on the same physical HBA (NPIV),

I'm not sure about how to properly fix this bug yet, we could add the scsi host number to by-path as Dave suggests or maybe the port_name of the virtual HBA?
I'll try to come up with a solution.
Comment 13 Michal Sekletar 2015-11-16 09:19:08 EST
Maurizio, any progress with that patch for path_id?
Comment 14 Maurizio Lombardi 2015-11-16 10:36:03 EST
Michal, see bz 1266934 comment 22
Comment 15 Michal Sekletar 2015-12-21 05:34:55 EST
Maurizio, can you please post the patch upstream via GitHub pull request?
Comment 16 Maurizio Lombardi 2015-12-21 05:40:16 EST
Michal, I will post it soon. Sorry for the delay but one customer reported some problems with the first version of the patch and I had to modify it.

They are going to test the new version right now, if they confirm the patch works then I proceed to send it upstream.
Comment 22 Michal Sekletar 2016-03-01 07:40:22 EST
I've reverted current patch and merged patch proposed in https://github.com/systemd/systemd/pull/2731
Comment 25 errata-xmlrpc 2016-05-10 20:26:03 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-0903.html

Note You need to log in before you can comment on or make changes to this bug.