Re: [PATCH 1/1] scsi: retrieve cache mode using ATA_16 if normal routine fails

Namjae Jeon
2011-12-15T00:25:56Z

2011/12/14 James Bottomley <James.Bottomley@hansenpartnership.com>:
> On Wed, 2011-12-14 at 09:14 +0530, Amit Sahrawat wrote:
>> Just to add a thought - this issues is not related with ATA, this is
>> primarily related with HDD's with a USB interface i.e., SCSI <-> USB.
>> And, when I check my kernel config, CONFIG_ATA is not selected,
>> libata-scsi - this gets compiled only in case CONFIG_ATA is on.
>> Are these two things inter-related?
>
Hi. James.

> OK, so what you're telling us is that you're trying to correct a
> deficiency in a SATL inside a USB device?  The device itself is ATA but
> it doesn't use our libata connectors.
>
> I think in that case, the best way forwards is a mini-SATL correction
> layer within USB storage.  USB storage is certainly the place to
> black/white list whether this should be done.  ATA_16 is a bit of a
> dangerous command to be throwing around because it's known to crash
> various USB devices (and some old SCSI ones might even choke on it).
Okay, how about make some option in Kconfig of scsi or usb storage to
protect from the a bit of risk ATA_16 ?
The user can select this option to use stable filesystem on USB HDD.
>
> depending on how big this SATL ends up being we should consider whether
> it should share processing with the libata SATL.  If it's just a single
> mode sense, my instinct is that it's probably OK to implement separately
> (however, you need to use the libata headers ... no duplication of
> libata opcodes and status defines like you had in the original SCSI
> patch).  If there are more commands to correct on the way, it might be
> better as shared code.
I agree. I and Amit will check the best way between SATL or miniSATL
in usb_storage accoding to your advice.

> James
>
>