freebsd-dev/sys/cddl
Andriy Gapon afe674f089 do not destroy 'snapdir' when it becomes inactive
That was just wrong.  In fact, we can safely keep this static entry when
it's inactive.
Now the destructive action is moved to the reclaim method and the
function is renamed from zfsctl_snapdir_inactive(0 to
zfsctl_snapdir_reclaim().

Also, we can use gfs_vop_reclaim() instead of gfs_dir_inactive() +
kmem_free().

Lastly, we can just assert that the node does not any children when it
is reclaimed, even on the force unmount.  That's because zfs_umount()
does an extra vflush() pass which should destroy all snapshot-mountpoint
vnodes that are the snapdir's children.

MFC after:	5 weeks
2016-05-16 15:48:56 +00:00
..
boot/zfs Include arpa/inet.h to get the htonl(3) definition 2016-05-13 11:15:33 +00:00
compat/opensolaris fix a vnode reference leak caused by illumos compat traverse() 2016-05-16 12:15:19 +00:00
contrib/opensolaris do not destroy 'snapdir' when it becomes inactive 2016-05-16 15:48:56 +00:00
dev Add an EARLY_AP_STARTUP option to start APs earlier during boot. 2016-05-14 18:22:52 +00:00