Print this page
Send nfs_export_t to untraverse()
        
@@ -719,11 +719,11 @@
 
                         /*
                          * Traverse across the mountpoint and continue the
                          * climb on the mounted-on filesystem.
                          */
-                        vp = untraverse(vp);
+                        vp = untraverse(ne, vp);
                         exportdir = 0;
                         continue;
                 }
 
                 /*
@@ -908,21 +908,20 @@
 
 /*
  * 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)
+untraverse(nfs_export_t *ne, vnode_t *vp)
 {
         vnode_t *tvp, *nextvp;
+        vnode_t *zone_rootvp = ne->exi_root->exi_vp;
 
         tvp = vp;
         for (;;) {
-                if (!(tvp->v_flag & VROOT) && !VN_IS_CURZONEROOT(tvp))
+                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);