Re: sd_mod or usb-storage fails to read a single good block (was: ehci_hcd fails to read a single good block)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 9 Apr 2012, Norman Diamond wrote:

> I suggest that quirk processing should only try to read 1 block, the last block which is asserted to exist, and decrement if the read fails due to non-existence.  If the read fails for a different reason then the block exists and the count should not be decremented.

I have tried to explain before that this is a very bad idea.  Bridges
that crash when attempting to read beyond the end of the device would
become totally unusable.

> > By the way, Linux's SCSI disk driver no longer does this.� It is more cautious; accesses near the end of a USB device are broken up into single-block reads or writes.� However at the time the quirk entry was added, the driver wasn't so careful.
> 
> Which means that someone's bridge might have crashed due to a bad
> block at or near the end of the drive.

More likely the bridge crashed because it was unable to handle a
multiple-block read whereas it could have handled a single-block read.

Regardless, we are now stuck.  We don't dare remove the existing quirk
entries because of the potential for breaking systems that currently
work.  If you can suggest a way of detecting whether or not the
capacity value is correct that will not break any existing systems, I
would be extremely glad to hear it.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux