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
spot.
> but it seems that ignoring -b is still a bug.
Works for me in 9-stable. Here's the change in -head:
http://svnweb.freebsd.org/base/head/sbin/geom/class/part/geom_part.c?r1=229916&r2=235033
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