bsdlabel, vnode_pager
grarpamp
grarpamp at gmail.com
Tue Sep 29 07:42:40 UTC 2009
Updated a box from RELENG_7 to RELENG_8 yesterday... make buildworld,
installworld, mergemaster, boot0cfg -Bv ad0, bsdlabel -B ad0s1.
When using bsdlabel I get this from this file:
src/sys/geom/geom_ctl.c:442: Class not found
this happens I think when bsdlabel refuses to write anything.
So I boot in boot -sv, I get this after it writes to disk:
vnode_pager_getpages: I/O read error
then even with simple sync I get:
sync: Input/output error
Although I've got the shell prompt still, any attempt to do anything
fails due to the above. /sbin/reboot doesn't work, requiring
powerdown. After that things come back fine and I think I'm running
on the new boot0 and slice code. It only wigs out after bsdlabel
is able to write something.
At various times under RELENG_7 I used these two names in bsdlabel,
just like '4.2BSD' is used to mark the partition's usage in bsdlabel.
At some point I reverted them to unused as it seemed to have once
solved the Class issue combined with not being able to edit the
bsdlabel with bsdlabel. ZFS is obvious, unknown was to mark ufs or
raw data slices that should not have any system tools looking inside
it at at any time.
/usr/include/sys/disklabel.h:
#define FS_OTHER 10 /* in use, but unknown/unsupported */
#define FS_ZFS 27 /* Sun's ZFS */
#ifdef FSTYPENAMES
static const char *fstypenames[] = {
'unknown'
'ZFS'
This is currently repeatable with: boot -sv, bsdlabel -B ad0s1.
Hopefully someone else will see it on their box as I'm not really
set up to debug.
Also, I hate CHS addressing, too many chances for operator off by
one, or a dozen :) So whoever was thinking of removing it from
toolsets ala: fdisk, has my full second on that motion :) Though
wasn't there something about beginning/ending on proper boundaries
for full stripe read/writes, performance or configuration or something
like that? How does one know that with only LBA? Or is it superstition?
Thx.
# bsdlabel ad0s1
# /dev/ad0s1:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 786432 0 4.2BSD 0 0 0
b: 131072 786432 unused 0 0
c: 6421905 0 unused 0 0 # "raw" part, don't edit
d: 262144 917504 unused 0 0
e: 131072 1179648 unused 0 0
f: 1310720 1310720 4.2BSD 0 0 0
g: 3538944 2621440 4.2BSD 0 0 0
h: 261521 6160384 unused 0 0
# gpart show
=> 63 17803359 ad0 MBR (8.5G)
63 6421905 1 freebsd [active] (3.1G)
6421968 11381328 2 freebsd (5.4G)
17803296 126 - free - (63K)
=> 0 6421905 ad0s1 BSD (3.1G)
0 786432 1 freebsd-ufs (384M)
786432 131072 2 !0 (64M)
917504 262144 4 !0 (128M)
1179648 131072 5 !0 (64M)
1310720 1310720 6 freebsd-ufs (640M)
2621440 3538944 7 freebsd-ufs (1.7G)
6160384 261521 8 !0 (128M)
# fdisk ad0
******* Working on device /dev/ad0 *******
parameters extracted from in-core disklabel are:
cylinders=17662 heads=16 sectors/track=63 (1008 blks/cyl)
Figures below won't work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=17662 heads=16 sectors/track=63 (1008 blks/cyl)
Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
The data for partition 1 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 63, size 6421905 (3135 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 1023/ head 15/ sector 63
The data for partition 2 is:
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 6421968, size 11381328 (5557 Meg), flag 0
beg: cyl 1023/ head 255/ sector 63;
end: cyl 1023/ head 15/ sector 63
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>
More information about the freebsd-geom
mailing list