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