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 -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html