Re: [ 38/48] SCSI & usb-storage: add try_rc_10_first flag
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2012-07-03 20:25:09
Also in:
linux-scsi, lkml
From: Alan Stern <stern@rowland.harvard.edu>
Date: 2012-07-03 20:25:09
Also in:
linux-scsi, lkml
On Wed, 4 Jul 2012, James Bottomley wrote:
quoted
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