Re: [ 38/48] SCSI & usb-storage: add try_rc_10_first flag

From: Alan Stern
Date: Tue Jul 03 2012 - 16:25:06 EST


On Wed, 4 Jul 2012, James Bottomley wrote:

> > The reason for the try_rc_10_first flag is that some devices return
> > bogus data in response to RC16. Like, an 800 GB device claiming to
> > have 3 exabytes.
>
> So we could easily send both and only believe RC10 if the device is
> under 2TB.

More precisely, if RC10 indicates the device is under 2 TB then ignore
the RC16 capacity. Or maybe issue a warning if it disagrees with the
RC10 capacity.

> However, what about all the extra flags we read out of RC16,
> like trim, large sector size and DIF capability? If the device lies
> about its capacity, won't we get bogus values for those as well, which
> is going to cause other screw ups?

That seems quite likely. I don't know the answer for any individual
cases, however.

For the greatest safety, I suppose we could disbelieve all the fields
in the RC16 response if the RC16 capacity disagrees with the RC10
capacity and the RC10 capacity is under 2 TB.

Alan Stern

--
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/