9.1 RELENG_9 Unable to cleanly dismount root partition on shutdown

Warren Block wblock at wonkity.com
Tue Aug 28 02:51:56 UTC 2012

On Mon, 27 Aug 2012, Kevin Oberman wrote:

> On Mon, Aug 27, 2012 at 1:16 PM, Warren Block <wblock at wonkity.com> wrote:
>> On Mon, 27 Aug 2012, Kevin Oberman wrote:
>>>> No obvious problems jumped out at me.  Here are my notes:
>>>> http://www.wonkity.com/~wblock/docs/html/disksetup.html
>>>> The gpart version is halfway down.  I really need to switch that around.
>>> Pretty good page, but I would really suggest that you also do either
>>> 4k or 1M alignment on your partitions. If you don't and use a disk
>>> with 4K blocks (internally), you will have terrible performance.
>> You mean add the -a parameter for gpart?  All that -a does is round
>> partition starting blocks and sizes to even values.  If the numbers given
>> are already even multiples, it does nothing.
> You can force alignment by use of -b. I just managed to miss that you
> were doing that. '-a' simply does the alignment and I have no reason
> to forces the location of any partition as all are multiples of 1M and
> 4K. Use of -a and -b on the same command seems rather useless,

Might make more sense if -a is seen as a safety check.  And yes, -b is 
an exception, done in this case to get the first partition at a specific 

> but it seems that ignoring -b is still a bug.

Works for me in 9-stable.  Here's the change in -head:


It was MFCed to 8-stable and 9-stable on 2012-05-11.

>  I'm not sure I get your statement that "All that -a does is round 
> partition starting blocks and sizes to even values. " -a aligns the 
> start of every partition to the stated size (as your example showed).

Sorry, I should have been more precise with the wording.  By "even" I 
meant even multiple of the given block value.

>> The reason -a4k is not shown there is because until a few months ago, -a
>> overrode -b.  So
>>   # gpart add -t freebsd-ufs -l gprootfs -a4k -b 1M -s 2G da0
>> did not start that partition at 1M, but instead at the next even 4K block
>> after the first 512K partition; block 1064 instead of block 2048, AFAIR.
>> The fix to gpart (thanks to ae@) is in 9-stable and 9.1, but not earlier
>> releases.
>> Mentioned a little farther down in the article is that keeping additional
>> partitions to even multiples of 1M or 1G size will keep them in alignment.
>>> 1M is recommended by Microsoft and used by Windows, but seems a bit
>>> excessive to me.
>> Also by some Sun RAID controllers and other systems.  1M is a nice even
>> multiple of a lot of common block sizes.
> True, but so is 4K (8-512 byte blocks). Obviously 1M is also a
> multiple of all powers of 2 below it as is 4K. Even in this age  of
> cheap disks, 1G alignment seems a bit extreme, but in most cases, it

Er, 1M.  It leaves a little less than 512K of unused space.  Starting at 
1G would be a more difficult decision for me, though you're right that 
it's a trivial amount of space on a lot of computers.

> really is insignificant for general purpose systems. It is an argument
> for single partitions, but I always worry that something screwy will
> blow up /var with log messages and I would not want this to fill all
> disk space, so I like to keep that, as well as a read-only root. Just
> old-fashioned, I guess.

Understood.  Usually separate filesystems for me, although I recently 
took to using tmpfs for /tmp.

More information about the freebsd-stable mailing list