HomeFreeBSD

zfs: set VROOT / VV_ROOT consistently and in a single place

Description

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

Details

Provenance
avgAuthored on
Parents
rS301274: Improve errno documentation in pthread_create(3) and thr_new(2)
Branches
Unknown
Tags
Unknown