RE: Question: where should the SCSI driver place MODE_SENSE data ?

From: Ju, Seokmann
Date: Wed Mar 22 2006 - 10:56:12 EST


On Tuesday, March 21, 2006 6:02 PM, James Bottomley wrote:
> I don't understand the question. Are you asking why
> sd_read_write_protect_flag and sd_read_cache_type operate in the way
> they do? i.e. header first then actual data.
For any SCSI command including MODE_SENSE, 'bufflen'in scsi_cmnd structure holds actual data buffer size in bytes if 'use_sg' flage is NOT set.
The question is that "value of bufflen is 4 for the sd_read_cache_type operation and that is NOT sufficient to return header and page data by driver".
If there is something that I misunderstood with the operation, please guide.

> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@xxxxxxxxxxxx]
> Sent: Tuesday, March 21, 2006 6:02 PM
> To: Ju, Seokmann
> Cc: linux-scsi; linux-kernel
> Subject: Re: Question: where should the SCSI driver place
> MODE_SENSE data ?
>
> On Tue, 2006-03-21 at 09:44 -0700, Ju, Seokmann wrote:
> > In the 2.6 (2.6.9 and scsi-misc in git) kernel, MODE_SENSE
> SCSI command
> > packet (scsi_cmnd) carries following entries with
> unexpectedly small in
> > size.
> > - request_bufflen
> > - bufflen
> >
> > Especially for MODE SENSE with page code 8 (caching page),
> driver has
> > minumum 12 Bytes MODE_SENSE data to deliver besides 'mode parameter
> > header' and 'block descriptors'.
> > When I dump those entries, they both are 4 Bytes in size.
> > To me, it seems like that SCSI mid layer allocated 512 Bytes for
> > MODE_SENSE data buffer, but the buffer length passed down to LLD
> > incorrectly.
>
> I don't understand the question. Are you asking why
> sd_read_write_protect_flag and sd_read_cache_type operate in the way
> they do? i.e. header first then actual data.
>
> James
>
>
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/