amd64/170646: Unable to cleanly unmount root / filesystem on 9.1 amd64

Matt Smith matt at
Wed Aug 15 11:30:09 UTC 2012

>Number:         170646
>Category:       amd64
>Synopsis:       Unable to cleanly unmount root / filesystem on 9.1 amd64
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 15 11:30:09 UTC 2012
>Originator:     Matt Smith
>Release:        9.1-PRERELEASE amd64
FreeBSD 9.1-PRERELEASE FreeBSD 9.1-PRERELEASE #0: Tue Aug  7 12:46:49 BST 2012     root at  amd64
I am running the latest code which I compiled from RELENG_9_1, although I
can see that RELENG_9 is pretty much identical at this point too. I'm using
the amd64 architecture on an Intel Atom D525 motherboard. I'm using UFS2
with softupdates and softupdates journalling enabled. And it's mounted via
glabel. It works fine except when I try and reboot or shutdown the machine
I get this error (written down from console, hopefully no typos):

Syncing disks, vnodes remaining...7 7 2 0 0 done
All buffers synced.
fsync: giving up on dirty
0xfffffe0007102780: tag devfs, type VCHR
usecount 1, writecount 0, refcount 2292 mountedhere 0xfffffe000000729ca00
flags (VI(0x200))
v_object 0xfffffe0005101910 ref 0 pages 23509
lock type devfs: EXCL by thread 0xfffffe00018fe08e0 (pid 1)
dev label/root
umount of / failed (35)

Then when the box comes back up again it detects that / was not unmounted
cleanly and recovers from journal before marking it clean once more.

My fstab:
/dev/label/root         /               ufs     rw              1       1
/dev/label/swap         none            swap    sw              0       0

My gpart:
=>        34  1250263661  ada0  GPT  (596G)
          34        1024     1  freebsd-boot  (512k)
        1058         990        - free -  (495k)
        2048  1228931072     2  freebsd-ufs  (586G)
  1228933120    21330575     3  freebsd-swap  (10G)

I have also tried changing this to /dev/ada0p2 in case it was an issue with
using labels and it does the same thing. I had no problems with it
unmounting from the USB install stick that I used which was 9.1-BETA1, it's
only started doing this since I updated it to RELENG_9_1 although the actual installed 9.1-BETA1 may have also done it, but I am unsure. I did make a
custom kernel file when I did that as well, but I don't think I've taken
anything important out of it.
Always repeatable by running shutdown -h now on my 9.1-PRERELEASE server.


More information about the freebsd-amd64 mailing list