Hi. I've had large problems making a setup where I'm using a QLE2462 card in order to connect to an EMC CLARiiON AX100. Port 1 of the HBA is connected to Storage Processor A ("SPA") of the AX100, while port 2 is connected to SPB. There are two RAIDs on the AX100, one containing five LU's of 230 GB each, containing EXT3 file systems labeled "data{1,2,3,4,5}". SPB is the designated controller for all these LUs. The other RAID contains only one LU of 10GB, containing an EXT3 file system labeled "postgres". This LU is normally controlled by SPA. Now, when I use kernel 2.6.12 with driver 8.01.01 from QLogic[1], everything works just nice. I see a total of 12 LUs representing the two paths to each LU, the postres one being available through the first SCSI host the module registers, with a "ghost" LU being visible on the second SCSI host, and vice verca for the data LUs. All as expected. I load the qla2xxx module using ql2xfailover=0, as the driver to the best of my knowledge are unable to send the necessary EMC-specific "trespass" command to the ghost LU before actually using it. For proper failover I need dm-multipath, but this didn't run stable for me on 2.6.12. I believe this situation has improved in 2.6.15, so I wanted to try upgrading. Now, the 8.01.01 version of the driver doesn't compile against 2.6.15 (complains about struct Scsi_Host not having members named "eh_active" and "state"), so I thought I'd try the in-kernel one. I downloaded the firmware from QLogic[2], and loaded the driver. It went in fine, found the AX100, created 12 SCSI LUs... But it seems all the different LUs created on the server corresponded with just /one/ of the LUs that are actually on the AX100. All of the twelve LUs are listed in /proc/partitions as 230GB, and all six connected to SCSI host 1 are ghost paths, while all six connected to host 2 are active. When dumping the EXT3 superblock of all those, I see that all of them actually acess just one of the LUs on the AX100 (data5). After hours of debugging without getting anywhere (including upgrading to the QLogic-driver from todays pull of Linus' git tree), I can't think of another explanation than this being a bug in the QLogic driver. To aid debugging I've attached logs from both 2.6.12 and 2.6.15 (suitable for diffing). If there's anything more I can help with just let me know. [1] http://download.qlogic.com/drivers/32415/qla2xxx-v8.01.01-dist.tgz [2] ftp://ftp.qlogic.com/outgoing/linux/firmware/ql2400_fw.bin Regards -- Tore Anderson
Attachment:
2.6.12-log.gz
Description: GNU Zip compressed data
Attachment:
2.6.15-log.gz
Description: GNU Zip compressed data
Attachment:
test.sh
Description: application/shellscript