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 > > > - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html