GEOM/bsdlabel regression in 8.x?

Daniel O'Connor doconnor at gsoft.com.au
Sun Jul 4 12:25:09 UTC 2010


I was helping a friend as he wanted to add a partition to a new install, ie he did (effectively) this..

truncate -s 10m /tmp/test
mdconfig -a -t vnode -f /tmp/test
fdisk -BI /dev/md0
bsdlabel -w /dev/md0s1
bsdlabel -e /dev/md0s1
<change a: to>
  a:     2048       16    4.2BSD        0     0     0 
newfs /dev/md0s1a
mkdir /mnt/test
mount /dev/md0s1a /mnt/test
bsdlabel -e /dev/md0s1

Then you get..
"bsdlabel: Class not found"

Note that just touching the file bsdlabel is using is enough to cause it to generate that error.

I tried the same steps on a 7.x system and it worked fine.

ktrace shows
...
 90200 bsdlabel CALL  ioctl(0x4,DIOCGMEDIASIZE,0x7fffffffe430)
 90200 bsdlabel RET   ioctl 0
 90200 bsdlabel CALL  ioctl(0x4,DIOCGSECTORSIZE,0x7fffffffe434)
 90200 bsdlabel RET   ioctl 0
 90200 bsdlabel CALL  ioctl(0x4,DIOCGFWSECTORS,0x7fffffffe454)
 90200 bsdlabel RET   ioctl 0
 90200 bsdlabel CALL  ioctl(0x4,DIOCGFWHEADS,0x7fffffffe454)
 90200 bsdlabel RET   ioctl 0 90200 bsdlabel CALL  close(0x4) 90200 bsdlabel RET   close 0
 90200 bsdlabel CALL  close(0x3)
 90200 bsdlabel RET   close 0
 90200 bsdlabel CALL  open(0x800c04040,O_RDWR,<unused>0x26ec)
 90200 bsdlabel NAMI  "/dev/md0s1"
 90200 bsdlabel RET   open -1 errno 1 Operation not permitted
 90200 bsdlabel CALL  open(0x800651b5f,O_RDONLY,<unused>0)
 90200 bsdlabel NAMI  "/dev/geom.ctl"
 90200 bsdlabel RET   open 3
 90200 bsdlabel CALL  ioctl(0x3,GEOM_CTL,0x800c06040) 90200 bsdlabel RET   ioctl 0 90200 bsdlabel CALL  close(0x3)


Note that my friend tried it on real hardware and said that after he rebooted it appeared(!)

--
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C








More information about the freebsd-stable mailing list