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

Linus Torvalds
2012-07-02T18:52:47Z

On Mon, Jul 2, 2012 at 12:10 AM, Hans de Goede <hdegoede@redhat.com> wrote:
>
> So since 3.2 already tries READ_CAPACITY(10) first, this patch is
> not needed. It does not harm either, and if the scsi level reporting
> change ever finds its way into 3.2 stable (which it should not
> IMHO), then this patch will be needed.

Yeah, it should definitely not make it into stable. In fact, I'd
rather remove it from mainline too. The whole idea to do
READ_CAPACITY_16 by default was moronic.

James? Why does the SCSI subsystem always do these idiotic defaults?
We *know* that devices are buggy. Sure, USB storage tends to be
buggier than most, but the whole idea of "let's use the new way of
reporting that gets almost no testing" is just wrong.

I don't think the USB layer should have needed to work around this. I
don't think there should be a "try_10b" flag at all. I think the SCSI
code should just *never* do the 16b version unless it has done the 10b
version first and determined that the size doesn't fit.

And the code already had that logic got the read_10b case. The whole
logic to do 16b by default was crap. It *used* to at least only do it
for disks that were marked as having "protection", now it wants to do
it for anything that should be able to handle it. Which is bogus. The
whole "let's assume devices get it right" mindset is broken.

The mindset should be "let's assume devices are buggy, and be careful".

Linus