In-kernel QLE2462 driver LU enumeration bug?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



  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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux