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

Reply via email to