partition c doesn't cover the whole unit!

I have 2 identical SATA HDD (ad4, ad6) in IntelMatrix Raid (ar0)

FreeBSD (7.2) was installed on ar0, and partitions made via sysinstall.

After upgrading to 8.0 bsdlabel shows such message on all drives (ad4, ad6, ar0)

Code:
bsdlabel: partition c doesn't cover the whole unit!
bsdlabel: An incorrect partition c may cause problems for standard system utilities

trying to find the reason i also found such error during boot:
Code:
GEOM: ad4s1: geometry does not match label (255h,63s != 16h,63s).
GEOM: ad6s1: geometry does not match label (255h,63s != 16h,63s).

checking the geometry i found strange things
fdisk shows different geometry for ar0 and ad4,ad6

Code:
ar0: cylinders=121600 heads=255 sectors/track=63 (16065 blks/cyl)
ad4(ad6): cylinders=1938021 heads=16 sectors/track=63 (1008 blks/cyl)

i really don't understand how this can be, but bsdlabel shows that eveything is equal on all slices (ar0s1, ad4s1, ad6s1)
Code:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 121600
sectors/unit: 1953519616

so, i guess that troubles with GEOM error can be solved with editing the label (bsdlabel -e -A /dev/axX), but i have no idea why there is a difference between bsdlabel and fdisk output, why fdisk shows different geometry for array and real drives and how to fix the problem with partition than "doesn't cover the whole unit!"
 
to say the truth the solution i use is reliable - i have few freebsd systems based on the same intel chipset and this raid really works. on 7.1 and 7.2 faulty hdd drives were removed and system worked, added new ones and the mirror gone back again, atacontrol is good enough for management. and i really had no problems with this on 7.X :(

but if there is no other solution...

is there a way to do it on working system without loosing the data?
any help will be useful for me.

thx in advance
 
Back
Top