[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1158166a1003100114j6ea329fbh84bfad65dcac90bf@mail.gmail.com>
Date: Wed, 10 Mar 2010 10:14:07 +0100
From: Denys Vlasenko <vda.linux@...glemail.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Tejun Heo <tj@...nel.org>,
"linux-ide@...r.kernel.org" <linux-ide@...r.kernel.org>,
lkml <linux-kernel@...r.kernel.org>,
Daniel Taylor <Daniel.Taylor@....com>,
Jeff Garzik <jeff@...zik.org>, Mark Lord <kernel@...savvy.com>,
tytso@....edu, "H. Peter Anvin" <hpa@...or.com>,
hirofumi@...l.parknet.co.jp,
Andrew Morton <akpm@...ux-foundation.org>,
Alan Cox <alan@...rguk.ukuu.org.uk>, irtiger@...il.com,
Matthew Wilcox <matthew@....cx>, aschnell@...e.de,
knikanth@...e.de, jdelvare@...e.de
Subject: Re: ATA 4 KiB sector issues.
On Wed, Mar 10, 2010 at 12:46 AM, Arnd Bergmann <arnd@...db.de> wrote:
> On Monday 08 March 2010 04:48:35 Tejun Heo wrote:
>> Unfortunately, while Windows can assume that newer releases won't
>> share the hard drive with older releases including Windows XP, Linux
>> distros can't do that. There will be many installations where a
>> modern Linux distros share a hard drive with older releases of
>> Windows. At this point, I can't see a silver bullet solution.
>>
>> Partitioners maybe should only align partitions which will be used by
>> Linux and default to the traditional layout for others while allowing
>> explicit override. I think Windows XP wouldn't have problem with
>> differently aligned partitions as long as it doesn't actually use them
>> but haven't tested it.
>
> Any idea if XP can cope with partition tables that use a 32-sector, 128-head
> geometry rather than the default 63-sector, 255-head one? That seems to
> be what some flash memory cards are using and it would make any cylinder
> aligned partition also 4096-byte aligned, at the cost of moving the
> 1024-cylinder boundary from 7.88 GiB to 2 GiB.
>
> Do we know of anything that requires 63s/255h?
63s/255h is more or less "standard" now.
Alignment issues can be solved by picking a good multiple of
_heads_ or _cylinders_:
For first partition, pick the start at 8th head:
cyl 0 head 1 sector 1: LBA sector 63) - bad
cyl 0 head 8 sector 1: LBA sector 8*63) - good (4k aligned)
For any other partition, pick start cylinder which is a multiple of 8:
cyl 8*x head 0 sector 1: LBA sector 8*x*255*63 - good (4k aligned)
This will actually work well for *any* geometry, not only for 63s/255h.
--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists