8.1-STABLE: problem with unmounting ZFS snapshots
Alexander Zagrebin
alexz at visp.ru
Fri Nov 12 11:58:01 UTC 2010
I have found that there is an issue with unmounting ZFS snapshots:
the /sbin/umount "hangs" after unmounting.
The test system is i386, but I can reproduce this issue on amd64 too.
# uname -a
FreeBSD alpha.vosz.local 8.1-STABLE FreeBSD 8.1-STABLE #0: Tue Oct 19
18:47:05 MSD 2010 root at alpha.vosz.local:/usr/obj/usr/src/sys/GENERIC
i386
How to try to repeat:
# zfs snapshot pool/var at test
# zfs list -t all -r pool/var
NAME USED AVAIL REFER MOUNTPOINT
pool/var 4,86M 2,99G 4,86M /var
pool/var at test 0 - 4,86M -
# mount -t zfs pool/var at test /mnt
# mount
...
pool/var at test on /mnt (zfs, local, noatime, read-only)
# umount /mnt
At this point umount hangs and it's impossible to kill it
even with the `kill -9`.
>From the working console I can see that:
1. snapshot is unmounted successfully
# mount
pool/root on / (zfs, local)
devfs on /dev (devfs, local, multilabel)
pool/home on /home (zfs, local)
pool/tmp on /tmp (zfs, local)
pool/usr on /usr (zfs, local)
pool/usr/src on /usr/src (zfs, local)
pool/var on /var (zfs, local)
2. the umount is waiting for disk
#ps | egrep 'PID|umount'
PID TT STAT TIME COMMAND
958 0 D+ 0:00,04 umount /mnt
# procstat -t 958
PID TID COMM TDNAME CPU PRI STATE WCHAN
958 100731 umount - 3 133 sleep mntref
Can anybody confirm this issue?
Any suggestions?
--
Alexander Zagrebin
More information about the freebsd-fs
mailing list