Re: [usb-storage] Re: 3.16 commit 89fb4cd errors on drives without SYNC CACHE

Alan Stern
2014-11-20T15:11:58Z

On Wed, 19 Nov 2014, Christoph Hellwig wrote:

> On Sat, Nov 15, 2014 at 08:14:57PM -0500, Jeff DeFouw wrote:
> > Kernel 3.16 includes commit
> > 89fb4cd1f717a871ef79fa7debbe840e3225cd54
> > scsi: handle flush errors properly
> >
> > I have an old USB backup drive that indicates a write cache but does not
> > support Synchronize Cache(10). The request error now gets returned,
> > resulting in a journal abort and inability to write to the ext3
> > filesystem. I was able to work around the problem by adding a new USB
> > storage quirk that completes the request without contacting the drive.
> > Is it acceptable for a drive to respond this way, and therefore need to
> > be handled in the SCSI layer, or is a new USB storage quirk the right
> > way to go?
>
> Maybe the problem is that usb-storage sets the wce_default_on flag, and
> we thus send a SYNCHRONIZE_CACHE even if the devices never claimed to
> support it?

usb-storage sets wce_default_on only for devices that are marked with
the US_FL_WRITE_CACHE quirk flag. Currently only two devices have that
flag: the Seagate Portable HDD (vendor ID 0x0bc2, product ID 0x2300)
and the Western Digital My Password HDD (vendor ID 0x1058, product ID
0x070a).

> Adding the

Alan Stern