Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2010 14:57:58 +0300
From:      "Alexander Zagrebin" <alexz@visp.ru>
To:        <freebsd-stable@freebsd.org>, <freebsd-fs@freebsd.org>
Subject:   8.1-STABLE: problem with unmounting ZFS snapshots
Message-ID:  <D9ABDE54892A4D9285FE7FFA6E1B1B69@vosz.local>

next in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D9ABDE54892A4D9285FE7FFA6E1B1B69>