Print this page
Try to remove assumption that zone's root vnode is marked VROOT
*** 36,45 ****
--- 36,46 ----
#include <nfs/auth.h>
#include <sys/vnode.h>
#include <nfs/nfs4.h>
#include <sys/kiconv.h>
#include <sys/avl.h>
+ #include <sys/zone.h>
#ifdef _KERNEL
#include <sys/pkp_hash.h> /* for PKP_HASH_SIZE */
#endif /* _KERNEL */
*** 470,485 ****
struct exportinfo *tree_exi;
struct exp_visible *tree_vis;
} treenode_t;
/*
! * TREE_ROOT checks if the node corresponds to a filesystem root
* TREE_EXPORTED checks if the node is explicitly shared
*/
#define TREE_ROOT(t) \
! ((t)->tree_exi && (t)->tree_exi->exi_vp->v_flag & VROOT)
#define TREE_EXPORTED(t) \
((t)->tree_exi && !PSEUDO((t)->tree_exi))
#define EXPTABLESIZE 256
--- 471,489 ----
struct exportinfo *tree_exi;
struct exp_visible *tree_vis;
} treenode_t;
/*
! * TREE_ROOT checks if the node corresponds to a filesystem root or
! * the zone's root directory.
* TREE_EXPORTED checks if the node is explicitly shared
*/
#define TREE_ROOT(t) \
! ((t)->tree_exi != NULL && \
! (((t)->tree_exi->exi_vp->v_flag & VROOT) || \
! VN_IS_CURZONEROOT((t)->tree_exi->exi_vp)))
#define TREE_EXPORTED(t) \
((t)->tree_exi && !PSEUDO((t)->tree_exi))
#define EXPTABLESIZE 256