I found a bug/problem in the SAS_address naming in the iSCSI driver - I have a SuperMicro X9DT3-F board that has the dual 4-port controller. The Linux kernel I am using is Linux version 2.6.32-220.el6.x86_64 - problem is, the SAS_address in sysfs on both hosts collide with each other:
[adibble@mrs4010 ~]$ for i in /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host[67]/port-*/end_device-*/sas_device/end_device-*/sas_address; do echo -n "$i: "; cat $i; done
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host6/port-6:0/end_device-6:0/sas_device/end_device-6:0/sas_address: 0x5fcfffff00000001
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host6/port-6:1/end_device-6:1/sas_device/end_device-6:1/sas_address: 0x5fcfffff00000002
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host6/port-6:2/end_device-6:2/sas_device/end_device-6:2/sas_address: 0x5fcfffff00000003
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host6/port-6:3/end_device-6:3/sas_device/end_device-6:3/sas_address: 0x5fcfffff00000004
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host7/port-7:0/end_device-7:0/sas_device/end_device-7:0/sas_address: 0x5fcfffff00000002
/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/0000:02:08.0/0000:03:00.0/host7/port-7:1/end_device-7:1/sas_device/end_device-7:1/sas_address: 0x5fcfffff00000003
See, I have two different disks that have SAS_address 0x5fcfffff00000002 (7:0 and 6:1) so this breaks the udev /dev/disk/by-path stuff because it finds 2 disks that have identical information according to udev - so only one of them is represented by a symlink at any given time.
I think the right answer is to encode the SAS host id (the 7: part) into the SAS_address but I'm not too familiar with what SAS_address actually represents and what the correct policy on this is. Do you know or have any info?
In order to support Intel SCU SAS controller, you must have the kernel version 2.6.39 or newer.