On Sat, Jun 25, 2011 at 10:58 AM, Christoph Hellwig <[email protected]> wrote: > > On Sat, Jun 25, 2011 at 10:10:30AM +0200, Bart Van Assche wrote: > > SCSI scanning of a channel:id:lun triplet in Linux works as follows > > (function > > scsi_scan_target() in drivers/scsi/scsi_scan.c): > > - If lun == SCAN_WILD_CARD, send a REPORT LUNS command to the target and > > process the result. > > - If lun != SCAN_WILD_CARD, send an INQUIRY command to the LUN corresponding > > to the specified channel:id:lun triplet to verify whether the LUN exists. > > So a SCSI driver must either take the channel and target id values in > > account > > in its quecommand() function or it should declare that it only supports one > > channel and one target id. Currently the ib_srp driver does neither. As a > > result scanning the SCSI bus via e.g. rescan-scsi-bus.sh causes many > > duplicate SCSI devices to be created. For each 0:0:L device, several > > duplicates are created with the same LUN number and with (C:I) != (0:0). Fix > > this by declaring that the ib_srp driver only supports one channel and one > > target id. > > Looks good. We should probably consider chosing sane defaults at least > for max_channel, but for now this is the best fix.
The default for max_channel is already zero, so strictly speaking it is not necessary to set max_channel in srp_target_create(). I choose to set it anyway to make the intent clear that currently ib_srp only supports channel == 0 and id == 0. Bart. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
