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 t...@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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
pgpZDbybghpdJ.pgp
Description: PGP signature