freebsd-dev/sys/cddl
Andriy Gapon a68789426a zfs: set VROOT / VV_ROOT consistently and in a single place
This is a followup to r300131.

A filesystem's root vnode can be reached not only through VSF_ROOT, but
by other means as well.  For example, via a dot-dot lookup.
Also, a root vnode can get reclaimed and then re-created.  For these
reasons it was insufficient to clear VV_ROOT flag from a root vnode of a
snapshot mounted under .zfs in zfsctl_snapdir_lookup().

So, now we set the flag in zfs_znode_sa_init() only if a vnode
represent a root of a filesystem or a standalone snapshot.
That is, the flag is not set for snapshots mounted under .zfs.

MFC after:	2 weeks
2016-06-03 14:37:18 +00:00
..
boot/zfs Use netinet/in.h to avoid include/arpa dependency for DIRDEPS_BUILD. 2016-05-26 23:20:17 +00:00
compat/opensolaris fix a vnode reference leak caused by illumos compat traverse() 2016-05-16 12:15:19 +00:00
contrib/opensolaris zfs: set VROOT / VV_ROOT consistently and in a single place 2016-06-03 14:37:18 +00:00
dev Set oldfp so the check for fp == oldfp works as expected. 2016-05-31 11:32:09 +00:00