RE: [PATCH] msdos: add support for large disks

From: Daniel Taylor
Date: Wed Mar 03 2010 - 18:25:31 EST




-----Original Message-----
From: H. Peter Anvin [mailto:hpa@xxxxxxxxx]
Sent: Wednesday, March 03, 2010 3:05 PM
To: Daniel Taylor
Cc: OGAWA Hirofumi; Andrew Morton; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: [PATCH] msdos: add support for large disks

On 03/03/2010 02:50 PM, Daniel Taylor wrote:
>>
>> The drives report physical/logical sector sizes of 4096 bytes, which
>> the kernel correctly detects. 32-bit fields in the MBR are then
>> sufficient for storage capacites >2TiB (up to 16 TiB), and the storage
>> in struct parsed_partitions is already sector_t.
>>

> It's probably worth noting that such media:

> a) will not work with anything that is based on disk images;
> b) will not be bootable on most existing systems.

> Both of these are going to be issues for people in real-life use (and yes,
people boot from USB disks -- trust me, when it > doesn't work they send the
bug reports to *me* rather than to the hw/bios vendors.) Of course, so is
XP compatibility.

> -hpa

Those are good points. We (WD) are trying to get the NDAs, regarding our
specific not-yet-released products, in place to get the userspace utilities
updated, and WD is also in communication with the Windows tool developers.

Fundamentally, though, the way Windows XP, which only supports MBR
partitioning, can use a disk drive capacity larger than 2 TiB is with sector
sizes larger than 512 bytes. That is far too large a slice of the installed
base for the disk drive makers to ignore, so these drives and partitions are
going to be released, whether by WD, or someone else. When someone plugs
one of these disks into a system running Linux, we don't need to hear about
"Linux doesn't support it", if there's a reasonable accomodation. In this
case, both the inputs MBR partitioning, and the data stored as a result, are
fully capable. It is only the intermediate variables in the module that are
currently hard-coded to 32-bits, and which truncate the values.

dlt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/