+
+ struct label *mnt_mntlabel; /* MAC mount label */
+ struct label *mnt_fslabel; /* MAC default fs label */
+
+ /*
+ * cache the rootvp of the last mount point
+ * in the chain in the mount struct pointed
+ * to by the vnode sitting in '/'
+ * this cache is used to shortcircuit the
+ * mount chain traversal and allows us
+ * to traverse to the true underlying rootvp
+ * in 1 easy step inside of 'cache_lookup_path'
+ *
+ * make sure to validate against the cached vid
+ * in case the rootvp gets stolen away since
+ * we don't take an explicit long term reference
+ * on it when we mount it
+ */
+ vnode_t mnt_realrootvp;
+ uint32_t mnt_realrootvp_vid;
+ /*
+ * bumped each time a mount or unmount
+ * occurs... its used to invalidate
+ * 'mnt_realrootvp' from the cache
+ */
+ uint32_t mnt_generation;
+ /*
+ * if 'MNTK_AUTH_CACHE_TIMEOUT' is
+ * set, then 'mnt_authcache_ttl' is
+ * the time-to-live for the per-vnode authentication cache
+ * on this mount... if zero, no cache is maintained...
+ * if 'MNTK_AUTH_CACHE_TIMEOUT' isn't set, its the
+ * time-to-live for the cached lookup right for
+ * volumes marked 'MNTK_AUTH_OPAQUE'.
+ */
+ int mnt_authcache_ttl;
+ /*
+ * The proc structure pointer and process ID form a
+ * sufficiently unique duple identifying the process
+ * hosting this mount point. Set by vfs_markdependency()
+ * and utilized in new_vnode() to avoid reclaiming vnodes
+ * with this dependency (radar 5192010).
+ */
+ pid_t mnt_dependent_pid;
+ void *mnt_dependent_process;