Re: 8.0-BETA1 bsdlabel broken?

From: Eygene Ryabinkin <rea-fbsd_at_codelabs.ru>
Date: Fri, 10 Jul 2009 10:14:15 +0400
Jogh, good day.

Fri, Jul 10, 2009 at 02:21:06PM +1000, John Marshall wrote:
> This system was source-upgrade from 7.2-RELEASE to 8.0-BETA1 a couple of
> days ago.
> 
> Today I had a nasty surprise when I fired up bsdlabel to increase the
> size of a swap partition.  I booted the system off the 7.2-RELEASE live
> filesystem CD and its bsdlabel displayed "normal" labels.  I used the
> bsdlabel off the 7.2 livefs CD to edit the label.
> 
> Here's what I see from 8.0-BETA1.  Scary stuff!
> 
> rwsrv05# bsdlabel da0s1
> # /dev/da0s1:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   a:  1048576    16065    4.2BSD     2048 16384     8 
>   b:  8388608  1064641      swap                    
>   c: 33543720    16065    unused        0     0         # "raw" part, don't edit
>   e:  4194304  9453249    4.2BSD     2048 16384 28552 
>   f: 19912232 13647553    4.2BSD     2048 16384 28552 
> partition c: partition extends past end of unit
> bsdlabel: partition c doesn't start at 0!
> bsdlabel: An incorrect partition c may cause problems for standard system utilities
> partition f: partition extends past end of unit

And if you'll invoke 'bsdlabel -A da0s1' then it will whine only about
'c' that doesn't start at 0, but no stuff will be marked as 'extends past
end of unit' ;))

The problem is that your 8.x kernel is likely misses GEOM_BSD, so
gctl_issue() inside readlabel() of bsdlabel.c will choke on it.
Mine problems on one of the hosts were solved by adding GEOM_BSD and
recompiling the kernel, though it has the only slice that started at
63 (MBR offset).

> rwsrv05# bsdlabel da0s2
> # /dev/da0s2:
> 8 partitions:
> #        size   offset    fstype   [fsize bsize bps/cpg]
>   c: 67103505 33559785    unused        0     0         # "raw" part, don't edit
>   d: 33554432 33559785    4.2BSD     2048 16384 28552 
>   e: 33549073 67114217    4.2BSD     2048 16384 28552 
> partition c: partition extends past end of unit
> bsdlabel: partition c doesn't start at 0!
> bsdlabel: An incorrect partition c may cause problems for standard system utilities
> partition d: partition extends past end of unit
> partition e: offset past end of unit
> partition e: partition extends past end of unit

This part gets trickier, because partition 'c' reports strange offset.
I had reproduced this problem at my notebook, so I'll try to debug it
further.
-- 
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
    {_.-``-'         {_/            #
Received on Fri Jul 10 2009 - 04:14:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:51 UTC