Cannot mount / from UFS labels
Ulrich Spörlein
uqs at spoerlein.net
Sun Aug 23 14:33:05 UTC 2009
On Sat, 22.08.2009 at 02:28:22 +0200, Pawel Jakub Dawidek wrote:
> On Fri, Aug 21, 2009 at 03:17:23PM +0200, Ulrich Spörlein wrote:
> > I'm not sure this ever worked for 7.x but now I need to have the same
> > root fs device on two machines: labels to the rescue! As I don't want to
> > use the GEOM labels, but UFS labels, this is what I did:
> >
> > # tunefs -L root / (in single user)
> > then updated /etc/fstab and rebooted
>
> The problem is this: tunefs will write volume name into file system's
> superblock on the disk. Then you remount read-write and UFS will overwrite
> superblock with in-memory copy it picked up on first read-only mount (no volume
> name in there). So there will be no volume name in the superblock anymore. You
> can confirm that with:
>
> # tunefs -L root /dev/ad0s1a
> # dumpfs /dev/ad0s1a | grep volname
> There should be volume name here.
> # mount -uw /
> # dumpfs /dev/ad0s1a | grep volname
> No volume name here.
>
> You cannot remount it read-only again and use tunefs again, because this is a
> bit of a hack how it works now. Only first read-only mount opens GEOM provider
> (eg. /dev/ad0s1a) for reading, but without exclusive bit. Once you remount it
> the exclusive bit will be there and you will no longer be able to use tunefs on
> this file system. You can confirm that with:
>
> # gpart list | grep -A3 'Name: ad0s1a'
> Take a look at the 'e' (exclusive) count.
>
> So what you have to do instead is to boot into single-user mode, put volume
> name using tunefs and reboot without remounting the file system.
I had a hunch that this might work, thanks for confirming, I now also
used this for my other machines and can confirm it worked.
Cheers,
Uli
More information about the freebsd-current
mailing list