Date: Sun, 4 Jul 2010 14:15:30 -0700 From: Garrett Cooper <yanefbsd@gmail.com> To: Dimitry Andric <dimitry@andric.com> Cc: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: Re: GEOM/bsdlabel regression in 8.x? Message-ID: <AANLkTilOEs6UQxh93SBZUP3Y79X_l2R6uyTGFmPfxY3S@mail.gmail.com> In-Reply-To: <4C30AAA8.7010206@andric.com> References: <BC67251C-1621-4291-B0C1-A28CC404E417@gsoft.com.au> <4C309359.8000502@andric.com> <791316F7-6E16-47D7-9B6C-2881FAAC78AA@gsoft.com.au> <4C30AAA8.7010206@andric.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jul 4, 2010 at 8:37 AM, Dimitry Andric <dimitry@andric.com> wrote: > On 2010-07-04 16:26, Daniel O'Connor wrote: >>> First unmount /dev/md0s1a, or the device /dev/md0s1 will be in use, and >>> opening it for read/write (as bsdlabel probably does) will fail. >>> >>> Alternatively, you can turn on the "footshooting" debug flag in geom: > ... >> It doesn't make a difference if you set that flag or not. >> >> (The fact you need to set debugflags to modify the MBR is a separate bug= anyway IMO) > > On my 8-stable box, I have tried this sequence of commands: > > =A0truncate -s 10m /tmp/test > =A0mdconfig -a -t vnode -f /tmp/test > =A0mdconfig -a -t vnode -f /tmp/test > =A0fdisk -BI /dev/md0 > =A0bsdlabel -w /dev/md0s1 > =A0bsdlabel -e /dev/md0s1 > =A0newfs /dev/md0s1a > =A0mkdir /mnt/test > =A0mount /dev/md0s1a /mnt/test > =A0bsdlabel -e /dev/md0s1 > > The last one indeed fails, because the device is in use. =A0This is > expected, but the error message is very misleading, and should be > improved. > > The real 'bug' (although there will probably be loads of bikesheds about > it) is probably that if you *do* unmount the filesystem, bsdlabel still > fails: > > =A0umount /mnt/test > =A0bsdlabel -e /dev/md0s1 > =A0[class not found yada yada] > > Apparently, unmounting does not properly 'release' whatever underlying > geom device is preventing read/write access. =A0However, if you then set > the footshooting flag: > > =A0sysctl -w kern.geom.debugflags=3D0x10 > =A0bsdlabel -e /dev/md0s1 > > bsdlabel can write without problems, at least on my box. =A0Stranger > even, if you subsequently turn off the footshooting flag, it *still* > can write to the label. =A0That is, unless you mount and unmount the > filesystem, after which is again, sort of 'locked' against writing. > > All highly confusing. :) <offtopic> There's a weird ass feature in geom too under 7.x+ that if you have where if you have a dangerously dedicated disk partitioned like so that gets mounted, it automatically hides the slicing: $ dd if=3D/dev/zero of=3Dafile bs=3D10m count=3D5 $ mdconfig -a -t vnode -f afile md1 $ ls /dev/md1* /dev/md1 $ sudo fdisk -BIq /dev/md1 $ bsdlabel -w /dev/md1s1 $ bsdlabel -e /dev/md1s1 # /dev/md1s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 96311 16 unused 0 0 c: 96327 0 unused 0 0 # "raw" part, don't= edit # newfs /dev/md1s1 /dev/md1s1: 47.0MB (96324 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 11.77MB, 753 blks, 1536 inodes. super-block backups (for fsck -b #) at: 160, 24256, 48352, 72448 $ ls /dev/md1* /dev/md1 /dev/md1s1 $ ls /dev/md1* /dev/md1 /dev/md1s1 /dev/md1s1a $ mount /dev/md1s1 /mnt/mem $ ls /dev/md1* /dev/md1 /dev/md1s1 $ umount /mnt/mem $ ls /dev/md1* /dev/md1 /dev/md1s1 /dev/md1s1a It's something that someone noticed at my work. </offtopic> Thanks, -Garrett
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTilOEs6UQxh93SBZUP3Y79X_l2R6uyTGFmPfxY3S>