On Feb 14, 2014, at 8:24 AM, Warren Block <[email protected]> wrote:
> The Problem > > More and more disk devices have native 4K blocks. The ability to align MBR > slices to arbitrary values is consequently becoming more important. > Misaligned filesystems might read or write at less than half the speed of > aligned filesystems on the same disk. > > Microsoft recognized this problem, and at least since the release of Vista in > 2007, MBR-formatted disks created by Microsoft operating systems have started > the first or main filesystem slice at block 2048 (1M). Despite the official > standard for MBR alignment to CHS values, this second non-CHS but 4K-aligned > de facto standard has become extremely common. Aligning to 4K *and* CHS is possible. If there are 63 sectors per track, then a 4K aligned partition that starts at a track boundary starts in track 8 (LBA 504). Are you absolutely sure that 4K alignment resulted in non-CHS alignment? > When MBR slices are created with gpart(8) on FreeBSD, their starting block > and size are silently rounded to multiples of CHS values. This happens even > when specific values for -a (alignment) or -b (starting block) are given. > This silent rounding violates POLA. That's argumentative. > At present, the only way to create an MBR with 4K-aligned slices on FreeBSD > is with fdisk(8), a legacy tool. False. With some math, you can do the same thing with gpart. What is missing is good behaviour when -a 4K is specified. > Suggested Solution > > gpart(8) should be allowed to override the CHS rounding with -a and -b values > when creating MBR slices. If CHS rounding occurs when the options are not > given, gpart(8) should give a warning that default values were used to avoid > surprising the user. > > The warning is really secondary. Primarily and pragmatically, gpart(8) needs > the ability to create MBR slices with arbitrary alignment so FreeBSD can deal > gracefully with modern storage hardware. > There are alternatives to consider: 1. Don't change anything 2. Align to both CHS and the specified alignment (-a). 3. Add an option to allow precise control over the behaviour and thus avoid causing POLA violations when the MBR scheme suddenly behaves differently and creates incompatible slices. -- Marcel Moolenaar [email protected]
signature.asc
Description: Message signed with OpenPGP using GPGMail
