Re: Unable to unmount idle filesystem on 6.2



Kris Kennaway wrote:
Darren Pilgrim wrote:
I'm unable to unmount an idle filesystem (or even drop it to
read-only):

# mount
/dev/da0s1a on / (ufs, local, noatime)
devfs on /dev (devfs, local)
/dev/da0s1d on /var (ufs, local, noatime, soft-updates)
/dev/da0s1e on /usr (ufs, local, noatime, soft-updates)
/dev/da0s1fp1 on /usr/obj (ufs, asynchronous, local, noatime)
/dev/da0s1fp2 on /usr/ports (ufs, local, soft-updates)
/dev/da0s1fp3 on /usr/src (ufs, local, soft-updates)
/dev/da0s2d on /data (ufs, local, noatime, soft-updates)

# fstat -f /usr/ports
USER CMD PID FD MOUNT INUM MODE SZ|DV R/W

# umount /usr/ports
umount: unmount of /usr/ports failed: Device busy

# umount -f /usr/ports
umount: unmount of /usr/ports failed: Device busy

# mount -o ro /usr/ports
mount: /dev/da0s1fp2: Operation not permitted

# uname -r
6.2-RELEASE-p8
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"



Strange, can you break to DDB and do 'show lockedvnods'?

I haven't done that yet; however, I did find 12 instances of the following in the log:

softdep_waitidle: Failed to flush worklist for 0xc66e5298

A quick check and that message gets spit out whenever I issue any of the following commands:

# mount -uo ro /usr/ports
# umount /usr/ports
# umount -f /usr/ports

A bit of searching on that error message tells me I've hit some kind of a corner case with soft-updates. The filesystem was mounted read-only, then upgraded to rw so I could update the ports tree. After cvsup was done, I tried to take the filesystem back down to read-only. The common case seems to be that the mount change is followed too quickly after the large number of writes and it somehow wedges soft-updates.

Unfortunately, I haven't been able to find a fix other than rebooting the machine. The problem is that the search results[1] also tell me the filesystem may well be hosed and the reboot won't be clean. Luckily for me, I can just drop the FS from /etc/fstab and newfs the partition after the box comes back up.

[1]: http://lists.freebsd.org/pipermail/freebsd-current/2007-February/069178.html
_______________________________________________
freebsd-questions@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: Unable to unmount idle filesystem on 6.2
    ... devfs on /dev ... # umount -f /usr/ports ... # mount -o ro /usr/ports ... I'll build a kernel with the KDB and DDB options and hope the problem recurs. ...
    (freebsd-questions)
  • Re: Cant umount when busy
    ... You can use command 'fuser -mv' with the mount point as its argument.' ... in the mounted filesystem. ... Man umount says it ...
    (RedHat)
  • leaked mountpoints after umount
    ... condition) it will remain listed in the mount table: ... devfs on /dev ... dalki# umount -f c7ff560202000000 ... umount: unmount of /haessal failed: No such file or directory ...
    (freebsd-current)
  • Re: Unable to unmount idle filesystem on 6.2
    ... devfs on /dev ... # umount -f /usr/ports ... # mount -o ro /usr/ports ... The filesystem was mounted read-only, then upgraded to rw so I could update the ports tree. ...
    (freebsd-questions)
  • Re: Unable to unmount idle filesystem on 6.2
    ... devfs on /dev ... # fstat -f /usr/ports ... # umount -f /usr/ports ... # mount -o ro /usr/ports ...
    (freebsd-questions)