[stgt] stgt: residual on Inquiry

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Sun Aug 15 09:00:03 CEST 2010


On Tue, 10 Aug 2010 16:10:13 -0700
Joe Eykholt <jeykholt at cisco.com> wrote:

> When an initiator sends an FCP request with INQUIRY and
> data length 36, tgtd gives the kernel a buffer of 66
> bytes.  If I set the FCP response OVERRUN flag and Residual
> count of 30 bytes, however, the initiator (Linux 2.6.34)
> retries the INQUIRY 3 times with the same data length and
> then gives up on LUN discovery.  If I don't report the
> overrun, and just transfer the 36 bytes, then it works.

Sounds like odd. For iSCSI, the initiator sends INQUIRY with 36-bytes
buffer, then tgtd sends a response that says that we need more, then
the initiator sends INQUIRY with more longer buffer.

I think that scsi_probe_lun() works like that.


> My problem is that I don't know when to report Overrun and
> when not to, but the SCSI layer in tgtd should know that.
> My suggestion is that for INQUIRY, and perhaps some other
> commands (e.g., REPORT LUNS?) that tgtd (being the SCSI layer on
> the target) shouldn't return back a larger buffer than the
> target module (kernel) requested.  Can we change tgtd accordingly?

I think that tgtd and llds always need to report overrun when it
happens.
--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list