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@alpha.vosz.local:/usr/obj/usr/src/sys/GENERIC
i386
How to try to repeat:
# zfs snapshot pool/var@test
# zfs list -t all -r pool/var
NAME USED AVAIL REFER MOUNTPOINT
pool/var 4,86M 2,99G 4,86M /var
pool/var@test 0 - 4,86M -
# mount -t zfs pool/var@test /mnt
# mount
....
pool/var@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
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"