public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* No LUNs detected with 2.6.1-mm4 qla2xxx / qla2300
@ 2004-01-18 23:25 Michael W. Shaffer
  2004-01-19  5:27 ` Andrew Vasquez
  0 siblings, 1 reply; 9+ messages in thread
From: Michael W. Shaffer @ 2004-01-18 23:25 UTC (permalink / raw)
  To: linux-scsi

I have the following (briefly):

- HP NetServer LH6000r
- 2 x QLogic QLA2340 2GBps HBA
- 2 x Nexsan ATABoy2 RAID Array

The server has two HBAs in it. One HBA connects to
one array, the other HBA to the other array (duh).

Running kernel 2.4.21-xfs with the Feral Software
ISP driver loaded as a module, everything works
fine (well, except for the fact that 2.4 is a total
POS under I/O load...). Two HBAs detected, one LUN
shows up on each HBA, two SCSI block devices sdb
and sdc are registered, RAID1 across them, XFS file
system on /dev/md0 -- everything is happy.

I just compiled kernel 2.6.1-mm4, which includes
this merged version of the QLogic drivers called
qla2xxx. I built the qla2300 driver as a module,
and when I load it, the HBAs are detected just
fine, and I see their port and node IDs, but no
LUNs are detected, and no SCSI devices registered.

Apparently this new driver is my only option now.
I tried the qlogicfc and cpqfc drivers, but they
don't appear to recognize the HBAs I have at all.
The factory QLogic drivers don't work with 2.6,
and the Feral ISP driver was dropped from the -mm
patchset back around 2.6.1-test5 or so, apparently
because it is considered 'old and broken' (at least
with respect to 2.6, I've had very good results
with it so far in 2.4).

I can see on the status monitor for these arrays
that their ports change from 'Loop Down' to 'Loop Up'
status when I load the qla2300 driver, so it looks
like the HBA is being initialized and is joining the
loop ok or whatever -- it just doesn't give me any
disk devices to use. Reboot the system with the old
kernel -- everything works fine again.

Output of dmesg and contents of /proc/scsi/qla2xxx/*
below, any advice would be greatly appreciated.

dmesg:
-------------------------------------------------
QLogic ISP2xxx PCI/PCI-X Fibre Channel HBA Driver (f8a29000)
qla2300 0000:01:02.0: Found an ISP2312, irq 25, iobase 0xf8893000
qla2300 0000:01:02.0: Configuring PCI space...
qla2300 0000:01:02.0: Configure NVRAM parameters...
qla2300 0000:01:02.0: Verifying loaded RISC code...
qla2300 0000:01:02.0: LIP reset occured (f8f7).
qla2300 0000:01:02.0: Waiting for LIP to complete...
qla2300 0000:01:02.0: LIP occured (f8f7).
qla2300 0000:01:02.0: LOOP UP detected (2 Gbps).
qla2300 0000:01:02.0: Topology - (Loop), Host Loop address 0x1
scsi2 : qla2xxx
qla2300 0000:01:02.0:
 QLogic ISP2xxx PCI/PCI-X Fibre Channel HBA Driver: 8.00.00b8
  QLogic QLA2340 -
  ISP2312: PCI (66 MHz) @ 0000:01:02.0 hdma-, host#=2, fw=3.02.18 TPX
qla2300 0000:01:03.0: Found an ISP2312, irq 25, iobase 0xf8895000
qla2300 0000:01:03.0: Configuring PCI space...
qla2300 0000:01:03.0: Configure NVRAM parameters...
qla2300 0000:01:03.0: Verifying loaded RISC code...
qla2300 0000:01:03.0: LIP reset occured (f8f7).
qla2300 0000:01:03.0: Waiting for LIP to complete...
qla2300 0000:01:03.0: LIP occured (f8f7).
qla2300 0000:01:03.0: LOOP UP detected (2 Gbps).
qla2300 0000:01:03.0: Topology - (Loop), Host Loop address 0x1
scsi3 : qla2xxx
qla2300 0000:01:03.0:
 QLogic ISP2xxx PCI/PCI-X Fibre Channel HBA Driver: 8.00.00b8
  QLogic QLA2340 -
  ISP2312: PCI (66 MHz) @ 0000:01:03.0 hdma-, host#=3, fw=3.02.18 TPX
-------------------------------------------------

/proc/scsi/qla2xxx/2:
-------------------------------------------------
QLogic PCI to Fibre Channel Host Adapter for QLA2340:
        Firmware version 3.02.18 TPX, Driver version 8.00.00b8
Entry address = f8a29000
ISP: ISP2312, Serial# J38360
Request Queue = 0x36ba0000, Response Queue = 0x36b90000
Request Queue count = 1024, Response Queue count = 512
Total number of active commands = 0
Total number of interrupts = 14638
    Device queue depth = 0x10
Number of free request entries = 1023
Number of mailbox timeouts = 0
Number of ISP aborts = 0
Number of loop resyncs = 0
Number of retries for empty slots = 0
Number of reqs in pending_q= 0, retry_q= 0, done_q= 0, scsi_retry_q= 0
Host adapter:loop state = <READY>, flags = 0x1813
Dpc flags = 0x80000
MBX flags = 0x0
Link down Timeout = 030
Port down retry = 030
Login retry count = 030
Commands retried with dropped frame(s) = 0
Info -- pci=104 xchgs=0x200 iocbs=0x307


SCSI Device Information:
scsi-qla0-adapter-node=200000e08b0e7851;
scsi-qla0-adapter-port=210000e08b0e7851;

SCSI LUN Information:
(Id:Lun)  * - indicates lun is not registered with the OS.
-------------------------------------------------

/proc/scsi/qla2xxx/3:
-------------------------------------------------
QLogic PCI to Fibre Channel Host Adapter for QLA2340:
        Firmware version 3.02.18 TPX, Driver version 8.00.00b8
Entry address = f8a29000
ISP: ISP2312, Serial# J48818
Request Queue = 0x36b40000, Response Queue = 0x36b60000
Request Queue count = 1024, Response Queue count = 512
Total number of active commands = 0
Total number of interrupts = 8412
    Device queue depth = 0x10
Number of free request entries = 1023
Number of mailbox timeouts = 0
Number of ISP aborts = 0
Number of loop resyncs = 0
Number of retries for empty slots = 0
Number of reqs in pending_q= 0, retry_q= 0, done_q= 0, scsi_retry_q= 0
Host adapter:loop state = <READY>, flags = 0x1813
Dpc flags = 0x80000
MBX flags = 0x0
Link down Timeout = 030
Port down retry = 030
Login retry count = 030
Commands retried with dropped frame(s) = 0
Info -- pci=104 xchgs=0x200 iocbs=0x307


SCSI Device Information:
scsi-qla1-adapter-node=200000e08b0e527a;
scsi-qla1-adapter-port=210000e08b0e527a;

SCSI LUN Information:
(Id:Lun)  * - indicates lun is not registered with the OS.
-------------------------------------------------

__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus

^ permalink raw reply	[flat|nested] 9+ messages in thread
* RE: No LUNs detected with 2.6.1-mm4 qla2xxx / qla2300
@ 2004-01-19 16:55 Andrew Vasquez
  2004-01-19 17:06 ` James Bottomley
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Vasquez @ 2004-01-19 16:55 UTC (permalink / raw)
  To: Michael W. Shaffer; +Cc: linux-scsi

[-- Attachment #1: Type: text/plain, Size: 1306 bytes --]

On Monday, January 19, 2004 12:25 AM, Michael W. Shaffer wrote:
> Well, I got through step 1 ok, enabling the debug options in
> the source files you mentioned in the plain 2.6.1-mm4 source
> and retesting.

I should have picked up on this from my work on Friday when I 
noticed this ommision when creating the resync-b9 patch.  

The problem is during the removal of the failover and IOCTL code
from the scsi-qla2xxx-2.6 tree, one critical piece of code
(a one-liner) was inadvertently removed that effectively disables
the drivers ability to bind fcports (devices found in the loop
or fabric) to the SCSI nexus (h/b/t/l).

Here's the patch inlined (I'll also attach just in case) against
a vanilla 2.6.1-mm4 tree:

--- linux-2.6.1-mm4/drivers/scsi/qla2xxx/qla_init.c.orig	2004-01-19 08:23:46.924323032 -0800
+++ linux-2.6.1-mm4/drivers/scsi/qla2xxx/qla_init.c	2004-01-19 08:24:48.860907240 -0800
@@ -1592,6 +1592,8 @@
 	if (!atomic_read(&ha->loop_down_timer) &&
 	    !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))) {
 
+		qla2x00_config_os(ha);
+
 		/* If we found all devices then go ready */
 		if (!(test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags))) {
 			atomic_set(&ha->loop_state, LOOP_READY);

This fix is already in the resync-b9 codes.  

Regards,
Andrew Vasquez

[-- Attachment #2: bind_fcports-v8.00.00b8-mm4.diff --]
[-- Type: application/octet-stream, Size: 484 bytes --]

--- linux-2.6.1-mm4/drivers/scsi/qla2xxx/qla_init.c.orig	2004-01-19 08:23:46.924323032 -0800
+++ linux-2.6.1-mm4/drivers/scsi/qla2xxx/qla_init.c	2004-01-19 08:24:48.860907240 -0800
@@ -1592,6 +1592,8 @@
 	if (!atomic_read(&ha->loop_down_timer) &&
 	    !(test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags))) {
 
+		qla2x00_config_os(ha);
+
 		/* If we found all devices then go ready */
 		if (!(test_bit(LOGIN_RETRY_NEEDED, &ha->dpc_flags))) {
 			atomic_set(&ha->loop_state, LOOP_READY);

^ permalink raw reply	[flat|nested] 9+ messages in thread
* RE: No LUNs detected with 2.6.1-mm4 qla2xxx / qla2300
@ 2004-01-19 17:38 Andrew Vasquez
  2004-01-19 21:42 ` Michael W. Shaffer
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Vasquez @ 2004-01-19 17:38 UTC (permalink / raw)
  To: Michael W. Shaffer; +Cc: linux-scsi

On , linux-scsi-owner@vger.kernel.org wrote:
> Ok, I don't know if this was the 'right' fix, but I noticed
> that the Kconfig file in the qla2xxx directory was different
> in the -b9 resync patchset, so I tried copying the old one
> back from the plain 2.6.1-mm4 tree, and now I got the
> modules built and installed.

I'll take a look at this.

> After enabling debugging and
> rebooting -- we now have LUNs! Attached is the output from
> /var/log/messages showing the -b9 module loading and finding
> the Nexsan arrays and their associated disk volumes. There
> are supposed to be two LUNs per array as shown, and now I
> have disk devices /dev/sdb - /dev/sde as expected. The
> unknown partition table comments are correct also, since
> I'm using the raw devices without any partitioning as
> members of RAID1 mirror sets.
>

Good.
 
> A couple of minor points:
> 
> - It appears that the patched driver still reports itself
>   as v8.00.00b8-debug, rather than b9.
> 

Thanks, will address in next resync

> - Someone noted this on the list before I think, but I also
>   noticed it: when you unload and re-load the qla2300 module,
>   it appears to not be decrementing some counter. The first
>   time, you get /proc/scsi/qla2xxx/2 and /proc/scsi/qla2xxx/3,
>   and the second time you get /4 and /5, and so forth, each
>   time you re-load. The logical names of the scsi devices
>   are not affected, just the numbers in the /proc/scsi/qla2xxx  
> directory. 
> 

It's my understanding that this is the expected behaviour.  
Note the following code from scsi_host_alloc() in hosts.c:

	...
	init_MUTEX(&shost->scan_mutex);

	shost->host_no = scsi_host_next_hn++; /* XXX(hch): still racy */

	...

scsi_host_next_hn is never decremented.

Regards,
Andrew Vasquez

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2004-01-19 21:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-01-18 23:25 No LUNs detected with 2.6.1-mm4 qla2xxx / qla2300 Michael W. Shaffer
2004-01-19  5:27 ` Andrew Vasquez
2004-01-19  6:36   ` Michael W. Shaffer
2004-01-19  8:24   ` Michael W. Shaffer
2004-01-19 16:09   ` Michael W. Shaffer
  -- strict thread matches above, loose matches on Subject: below --
2004-01-19 16:55 Andrew Vasquez
2004-01-19 17:06 ` James Bottomley
2004-01-19 17:38 Andrew Vasquez
2004-01-19 21:42 ` Michael W. Shaffer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox