Print this page
Send zone's rootvp to untraverse()
*** 719,729 ****
/*
* Traverse across the mountpoint and continue the
* climb on the mounted-on filesystem.
*/
! vp = untraverse(vp);
exportdir = 0;
continue;
}
/*
--- 719,729 ----
/*
* Traverse across the mountpoint and continue the
* climb on the mounted-on filesystem.
*/
! vp = untraverse(vp, ne->exi_root->exi_vp);
exportdir = 0;
continue;
}
/*
*** 908,928 ****
/*
* Traverse backward across mountpoint from the
* root vnode of a filesystem to its mounted-on
* vnode.
- *
- * Callers to this function have confirmed the use of curzone is safe here.
*/
vnode_t *
! untraverse(vnode_t *vp)
{
vnode_t *tvp, *nextvp;
tvp = vp;
for (;;) {
! if (!(tvp->v_flag & VROOT) && !VN_IS_CURZONEROOT(tvp))
break;
/* lock vfs to prevent unmount of this vfs */
vfs_lock_wait(tvp->v_vfsp);
--- 908,926 ----
/*
* Traverse backward across mountpoint from the
* root vnode of a filesystem to its mounted-on
* vnode.
*/
vnode_t *
! untraverse(vnode_t *vp, vnode_t *zone_rootvp)
{
vnode_t *tvp, *nextvp;
tvp = vp;
for (;;) {
! if (!(tvp->v_flag & VROOT) && !VN_CMP(tvp, zone_rootvp))
break;
/* lock vfs to prevent unmount of this vfs */
vfs_lock_wait(tvp->v_vfsp);