8.1-STABLE: problem with unmounting ZFS snapshots

Kostik Belousov kostikbel at gmail.com
Sat Nov 13 11:21:18 UTC 2010


On Sat, Nov 13, 2010 at 01:09:55PM +0200, Andriy Gapon wrote:
> on 13/11/2010 13:06 Martin Matuska said the following:
> > No, this is not good for us. Solaris does not allow "mounting" of
> > snapshots on any vnode, like we do. Solaris has them only in
> > .zfs/snapshots. This allows us to have read-only mounts without even
> > mounting the parent zfs.
> > 
> > Before v15 we have been happy with that code and had no issues :-)
> > 
> > I have a very simple testcase where just fixing the VFS_RELE breaks our
> > forced unmount. Let's say we use the correct VFS_RELE in zfs_vfsops.c:
> > VFS_RELE(vfsp->mnt_vnodecovered->v_vfsp);
> > 
> > Now let's say you have a mounted filesystem (e.g. md) under /mnt:
> > /dev/md5 on /mnt (ufs, local)
> > 
> > # mkdir /mnt/test
> > # mount -t zfs tank at t2 /mnt/test
> > # umount -f /mnt
> > 
> > Now you will hang because the second VFS_HOLD.
> 
> Hang here would be bad, I agree.
> But I think that the umount shouldn't succeed either, in this case.
Normal unmount indeed shall not succeed in this case, because mount
adds a reference to the covered vnode. But forced unmount should be
allowed to proceed.

After unmount, you can use fsid to unmount the lower mount point.
> 
> > So I stick to my opinion
> > that this "extra protection" is more a problem than a solution in our
> > case and it should be commented out.
> 
> 
> -- 
> Andriy Gapon
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20101113/5dce0ad1/attachment.pgp


More information about the freebsd-stable mailing list