On Wed, Feb 2, 2011 at 9:27 PM, Craig Prescott <presc...@hpc.ufl.edu> wrote:
>
> I'm having a problem with SRP automatic target discovery.  I am using 
> srp_daemon with OFED 1.5.2 on the initiator.  My one target machine with 
> several LUNs also uses OFED 1.5.2, and I am using scst 2.0.0.1 and srpt 2.0.0 
> on top of that.
>
> On the initiator, I have SRP_LOAD=yes and SRP_DAEMON_ENABLE=yes.  This seems 
> to work fine, and after rebooting, I can see the SRP targets on the 
> initiator, and srp_daemon running in the background:
>
> [root@hpcoss2 ~]# ps auxww | grep srp
> root      6635  0.0  0.0  63840  1176 ?        S    12:04   0:00 /bin/bash 
> /usr/sbin/srp_daemon.sh
> root      6638  0.0  0.0  63836  1164 ?        S    12:04   0:00 /bin/bash 
> /usr/sbin/run_srp_daemon -e -c -n -i mlx4_1 -p 1 -R 60 -V
> root      6647  0.0  0.0  31012   996 ?        SLl  12:04   0:00 srp_daemon 
> -e -c -n -i mlx4_1 -p 1 -R 60 -V
>
> But if I add an additional target on the same target machine with, say:
>
> [root@hpcoss1 ~]# echo "add 7:0:1:0 3" >/proc/scsi_tgt/groups/Default/devices
>
> the srp_daemon on the initiator never sees the new storage and restarting 
> srp_daemon doesn't seem to help.
>
> If I remove the SRP scsi devices, unload the ib_srp module, and reload it, I 
> can see the new LUN (and I don't need to restart srp_daemon, either).  But I 
> don't think that is how it is supposed to work.

Hello Craig,

In addition to what Dave and Vlad already wrote:
* In the SCSI Architectural Model (SAM) it is specified that a logical
unit shall generate a unit attention condition whenever e.g. the
INQUIRY data has changed. The mechanism for reporting unit attention
conditions to an initiator is transport specific.
* As Vlad explained, the SCST core supports this mechanism. The
ib_srpt driver however ignores unit attention conditions and does not
propagate these to the SRP initiator.
* The mechanism defined in the SRP draft for reporting unit attention
conditions by a target to an initiator is the SRP_AER_REQ information
unit.
* Neither the Linux SRP initiator nor the VMware ESX initiator nor the
Windows SRP initiator currently support the SRP_AER_REQ information
unit. Even worse, some versions of these initiators cause a kernel
crash upon reception of a SRP_AER_REQ information unit.
* Support in the Linux SCSI layer (at the initiator side) for unit
attention conditions is very limited. Currently only media change
events are supported (SDEV_EVT_MEDIA_CHANGE).
* As Dave already wrote, you can tell the initiator SCSI layer to
rescan LUNs manually. This script can be convenient to rescan LUNs:
http://www.garloff.de/kurt/linux/rescan-scsi-bus.sh-1.48.
* The goal of srp_daemon is to discover targets. It is out of scope
for srp_daemon to detect LUN changes of a target.

Bart.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to