[ofa-general] srp_daemon not picking up all parameter from srp_daemon.conf

Martin W. Schlining III mschlining at datadirectnet.com
Tue Jan 15 07:31:29 PST 2008


The srp_daemon used to login to SRP targets is not picking up more than 
one module parameter from /etc/srp_daemon.conf. I've seen this behavior 
with OFED 1.2, 1.2.5.3, and the IB software in 2.6.24-rc6.

Is this a bug or is the srp_daemon.conf not being used properly?

Here are a couple of examples:

-----------------------------------------------------------------

With one parameter on each line:

/etc/srp_daemon.conf

## This is an example rules configuration file for srp_daemon.
##
#This is a comment
## disallow the following dgid
#d       dgid=fe800000000000000002c90200402bd5
## allow target with the following ioc_guid
#a       ioc_guid=00a0b80200402bd7
## allow target with the following id_ext and ioc_guid
#a       id_ext=200500A0B81146A1,ioc_guid=00a0b80200402bef
## disallow all the rest
#d
a    max_sect=65535
a    max_cmd_per_lun=4

fury:~ # modprobe -r ib_srp
fury:~ # modprobe ib_srp
fury:~ # srp_daemon -o -e /dev/infiniband/umad0
fury:~ # lsscsi
[0:0:0:0]    disk    SEAGATE  ST373455SS       S513  /dev/sda
[26:0:0:0]   disk    DDN      S2A 9550         3.10  /dev/sdb
fury:~ # cat /sys/block/sdb/queue/max_hw_sectors_kb
32767
fury:~ # cat 
/sys/class/infiniband_srp/srp-mthca0-1/device/host26/scsi_host\:host26/cmd_per_lun 

63
fury:~ #

max_sect was picked up, but max_cmd_per_lun is still the default.

------------------------------------------------------------------

With both parameters on one line seperated by a comma:

## This is an example rules configuration file for srp_daemon.
##
#This is a comment
## disallow the following dgid
#d       dgid=fe800000000000000002c90200402bd5
## allow target with the following ioc_guid
#a       ioc_guid=00a0b80200402bd7
## allow target with the following id_ext and ioc_guid
#a       id_ext=200500A0B81146A1,ioc_guid=00a0b80200402bef
## disallow all the rest
#d
a    max_sect=65535,max_cmd_per_lun=4

fury:~ # modprobe -r ib_srp
fury:~ # modprobe ib_srp
fury:~ # srp_daemon -o -e /dev/infiniband/umad0
fury:~ # lsscsi
[0:0:0:0]    disk    SEAGATE  ST373455SS       S513  /dev/sda
[27:0:0:0]   disk    DDN      S2A 9550         3.10  /dev/sdb
fury:~ # cat /sys/block/sdb/queue/max_hw_sectors_kb
512
fury:~ # cat 
/sys/class/infiniband_srp/srp-mthca0-1/device/host27/scsi_host\:host27/cmd_p
er_lun
4
fury:~ #

max_cmd_per_lun was picked up, but max_sect was not.

------------------------------------------------------------------

The original method for adding SRP targets still allows for more
than module parameter to be added. This method works fine.

fury:~/tools/ib # ibsrpdm -d /dev/infiniband/umad0 -c | \
                  awk '{ORS="";print 
$1",max_sect=65535,max_cmd_per_lun=4"}' \
                  > /sys/class/infiniband_srp/srp-mthca0-1/add_target
fury:~/tools/ib # lsscsi
[0:0:0:0]    disk    SEAGATE  ST373455SS       S513  /dev/sda
[31:0:0:0]   disk    DDN      S2A 9550         3.10  /dev/sdb
fury:~/tools/ib # cat /sys/block/sdb/queue/max_hw_sectors_kb
32767
fury:~/tools/ib # cat 
/sys/class/infiniband_srp/srp-mthca0-1/device/host31/scsi_host\:hos
t31/cmd_per_lun
4
fury:~/tools/ib #




More information about the general mailing list