Date: Tue, 29 Sep 2009 03:19:34 -0400 From: grarpamp <grarpamp@gmail.com> To: freebsd-geom@freebsd.org Subject: bsdlabel, vnode_pager Message-ID: <d2e731a10909290019v20cbad25s597d7b3a0f2c0a30@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d2e731a10909290019v20cbad25s597d7b3a0f2c0a30>