Hello,

I've been trying to do some basic testing with dm-multipath and in the
course of that have hit a strange situation with the following setup:

- HBA:
scsi0 : qla2xxx
qla2300 0000:07:01.0: 
 QLogic Fibre Channel HBA Driver: 8.01.00b5-k-debug
  QLogic QLA2342 - 
  ISP2312: PCI-X (133 MHz) @ 0000:07:01.0 hdma-, host#=0, fw=3.03.15 IPX

going to:
Host: scsi0 Channel: 00 Id: 00 Lun: 01
  Vendor: IFT      Model: A16F-R2221       Rev: 342E
  Type:   Direct-Access                    ANSI SCSI revision: 03

on kernel 2.6.13.

The strange situation is that when disconnecting the fibre on the
disk/enclosure end and reconnecting it, the FC port is not reenabled.

I've enabled DEBUG_QLA2100 and QL_DEBUG_LEVEL_14 and am seeing the
following debug messages:

...
Aug 31 15:54:33 baku kernel: scsi(0): fcport-0 - port retry count: 0 remaining
=============> note, this is where I reconnect the fibre
Aug 31 15:55:10 baku kernel: scsi(0): RSCN database changed -- 000b 1132.
Aug 31 15:55:10 baku kernel: scsi(0): qla2x00_loop_resync()
Aug 31 15:55:10 baku kernel: scsi(0): F/W Ready - OK 
Aug 31 15:55:10 baku kernel: scsi(0): fw_state=3 curr time=83702.
Aug 31 15:55:10 baku kernel: scsi(0): Configure loop -- dpc flags =0xa0
Aug 31 15:55:10 baku kernel: scsi(0): RSCN queue entry[1] = [00/0b1132].
Aug 31 15:55:10 baku kernel: scsi(0): Handle RSCN -- process RSCN for port id 
[0b1132].
Aug 31 15:55:10 baku kernel: scsi(0): Handle RSCN -- attempting login to 
[82/0b1132].
Aug 31 15:55:10 baku kernel: scsi(0): Sending Login IOCB (a0002000) to 
[82/0b1132].
Aug 31 15:55:11 baku kernel: scsi(0): Process IODesc -- processing a0002000.
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- port id [0b1132] already 
assigned to loop id [81].
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- retrying login to 
[81/0b1132] (2).
Aug 31 15:55:11 baku kernel: scsi(0): Sending Login IOCB (a0003000) to 
[81/0b1132].
Aug 31 15:55:11 baku kernel: scsi(0): Process IODesc -- processing a0003000.
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- status=30 mb1=0 
pn=210000d02367d125.
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- found RSCN fcport in 
fcports list [f7c84600].
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- marking existing fcport 
[81/0b1132] online.
Aug 31 15:55:11 baku kernel: scsi(0): Login IOCB -- Freeing RSCN fcport 
f5c12d80 [81/0b1132].
Aug 31 15:55:11 baku kernel: scsi(0): LOOP READY
Aug 31 15:55:11 baku kernel: scsi(0): qla2x00_loop_resync - end
Aug 31 15:55:16 baku kernel: scsi(0): Port Update -- creating RSCN fcport 
f5c12d80 for 81/7/6000.
Aug 31 15:55:16 baku kernel: scsi(0): Handle RSCN -- process RSCN for fcport 
[ffffff].
Aug 31 15:55:16 baku kernel: scsi(0): Handle RSCN -- attempting login to 
[81/ffffff].
Aug 31 15:55:16 baku kernel: scsi(0): Sending Login IOCB (a0004000) to 
[81/ffffff].
Aug 31 15:55:16 baku kernel: scsi(0): Port login retry: 210000d02367d125, id = 
0x0081 retry cnt=10
Aug 31 15:55:16 baku kernel: scsi(0): Process IODesc -- processing a0004000.
Aug 31 15:55:16 baku kernel: scsi(0): fcport-0 - port retry count: 29 remaining
Aug 31 15:55:16 baku kernel: scsi(0): qla2x00_port_login()
Aug 31 15:55:16 baku kernel: scsi(0): Trying Fabric Login w/loop id 0x0081 for 
port 0b1132.
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- loop id [81] used by port 
id [0b1132].
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- retrying login to 
[81/0b1132] (2).
Aug 31 15:55:16 baku kernel: scsi(0): Sending Login IOCB (a0005000) to 
[81/0b1132].
Aug 31 15:55:16 baku kernel: scsi(0): Process IODesc -- processing a0005000.
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- status=0 mb1=0 
pn=210000d02367d125.
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- found RSCN fcport in 
fcports list [f7c84600].
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- marking existing fcport 
[81/0b1132] online.
Aug 31 15:55:16 baku kernel: scsi(0): Login IOCB -- Freeing RSCN fcport 
f5c12d80 [81/0b1132].
Aug 31 15:55:16 baku kernel: scsi(0): port login OK: logged in ID 0x81
Aug 31 15:55:16 baku kernel: scsi(0): qla2x00_port_login - end
Aug 31 15:55:50 baku kernel:  rport-0:0-0: blocked FC remote port time out: 
removing target

at this point, the path is no longer unavailable, whereas it should be
(everything's physically connected). The most worrying indication is the
final "blocked FC remote port time out" which seems like the port is not
being unblocked when it should.

Has anyone seen this issue, and is it known, and if so, are there any
fixes for it?

Any information about this would be appreciated.
Thanks

Attachment: signature.asc
Description: Digital signature

Reply via email to