RE: RES: RES: AS2105-based enclosure size issues with >2TB HDDs

David Laight
2014-08-26T10:00:14Z

From: Alan Stern
> On Mon, 25 Aug 2014, Alfredo Dal Ava Junior wrote:
>
> > Well, it is causing problems anyway... from user perspective, it's a
> > Linux compatibility issue, as it works "fine" on Windows. I'm not an
> > expert, but I'm wondering that if usb-storage could set capacity as
> > "UNDETERMINED"/ Zero (or keep using the readcapacity_10 as it as with
> > some flag signalizing it as inaccurate), EFI partition check would be
> > able to ignore size and look for secondary GPT where it really is.
>
> Part of the problem is that usb-storage has no way to know that
> anything strange is going on. It's normal for READ CAPACITY(16) to
> fail (this depend on the SCSI level), and it's normal for the READ
> CAPACITY(10) to report a value less than 2 TB.

Could the code try READ CAPACITY(16) first?

> Really there is only one way to know whether the actual capacity is
> larger than the reported capacity, and that is by trying to read blocks
> beyond the reported capacity -- a dangerous test that many drives do
> not like. (And in most cases a futile test. If a device doesn't
> support READ CAPACITY(16), how likely is it to support READ(16)?)
>
> Yes, in theory you can believe the value in the partition table in
> preference to the reported capacity. But what if that value is wrong?
> And how do you tell partition-manager programs what the capacity should
> be when they modify or set up the initial partition table?

I've a feeling that, historically at least, windows believes the partition table.
I remember some CF cards that locked up when I tried to read the 'device info'
sector, and others (apparently identical) that had the 32bit sector size misaligned.
These were 'major manufacturer' cards as well.

David