On Mon, 06 Mar 2006, Maxim Kozover wrote:
> Unfortunately I don't have the directory /proc/scsi/qla2xxx.
The two stage discovery process has not been needed since FC transport
integration. Instead, the driver simply makes up-calls to signal
rport visiblity (add on PLOGI/PRLI; delete on LOGO/cable-pull/etc).
> However the target sees PRLI from the host again after reconnecting
> the cable between the initiator and the switch.
> Does it mean the rediscovering new devices on initiator side is
> already done?
>
Yes, after plugging the cable back in, the driver rediscovers ports:
Mar 3 01:07:22 multipath kernel: scsi(4): RSNN_NN exiting normally.
Mar 3 01:07:22 multipath kernel: scsi(4): GID_PT entry - nn 200000e08b079a69 pn 210000e08b079a69 portid=010700.
Mar 3 01:07:22 multipath kernel: scsi(4): GID_PT entry - nn 2000001738279c00 pn 1000001738279c11 portid=010200.
Mar 3 01:07:22 multipath kernel: scsi(4): device wrap (010200)
Initiates PLOGI/PRLI:
Mar 3 01:07:22 multipath kernel: scsi(4): Trying Fabric Login w/loop id 0x0081 for port 010200.
And upcall via fc_remote_port_add() is done.
Mar 3 01:07:22 multipath kernel: scsi(4): LOOP READY
Mar 3 01:07:22 multipath kernel: scsi(4): qla2x00_loop_resync - end
Firmware then notifies software that the port has logged out:
Mar 3 01:07:22 multipath kernel: scsi(4): Asynchronous PORT UPDATE ignored 0081/0007/7ee5.
Mar 3 01:07:22 multipath kernel: scsi(4:0:0): status_entry: Port Down pid=43, compl status=0x29, port state=0x4
A CDB also returns with a completion status of PORT_LOGGED_OUT. From
the driver's DPC routine (process-context), the upcall to
fc_remote_port_delete() is issued:
Driver attempts a relogin:
Mar 3 01:07:22 multipath kernel: scsi(4): Port login retry: 1000001738279c11, id = 0x0081 retry cnt=8
Mar 3 01:07:23 multipath kernel: scsi(4): fcport-0 - port retry count: 0 remaining
Mar 3 01:07:23 multipath kernel: scsi(4): qla2x00_port_login()
Mar 3 01:07:23 multipath kernel: scsi(4): Trying Fabric Login w/loop id 0x0081 for port 010200.
Relogin complete
Mar 3 01:07:23 multipath kernel: scsi(4): port login OK: logged in ID 0x81
Upcall to fc_remote_port_add() done.
Mar 3 01:07:23 multipath kernel: scsi(4): qla2x00_port_login - end
Mar 3 01:07:23 multipath kernel: scsi(4): Asynchronous PORT UPDATE ignored 0000/0006/0001.
Mar 3 01:07:23 multipath kernel: scsi(4): Asynchronous PORT UPDATE ignored 0000/0007/0001.
Mar 3 01:07:23 multipath kernel: scsi(4): Asynchronous PORT UPDATE ignored 0000/0004/0001.
Mar 3 01:07:24 multipath kernel: scsi(4): Asynchronous PORT UPDATE ignored 0081/0006/0001.
I also noticed that scsi_transport_fc.c::fc_user_scan() is not called
with the host_lock held... hmm.. could you try out the patch I sent
earlier and provide the results.
Also, could you send the "echo t > /proc/..." output after the cable
has been reinserted, but, before the 'echo "- - -" > /sys/class' scan
is initiated.
thanks,
av
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]