Print this page
Send nfs_export_t to untraverse()

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs4_srv.c
          +++ new/usr/src/uts/common/fs/nfs/nfs4_srv.c
↓ open down ↓ 983 lines elided ↑ open up ↑
 984  984                          /*
 985  985                           * If at the system root, then can
 986  986                           * go up no further.
 987  987                           */
 988  988                          if (VN_CMP(dvp, ZONE_ROOTVP()))
 989  989                                  return (puterrno4(ENOENT));
 990  990  
 991  991                          /*
 992  992                           * Traverse back to the mounted-on filesystem
 993  993                           */
 994      -                        dvp = untraverse(dvp);
      994 +                        dvp = untraverse(ne, dvp);
 995  995  
 996  996                          /*
 997  997                           * Set the different_export flag so we remember
 998  998                           * to pick up a new exportinfo entry for
 999  999                           * this new filesystem.
1000 1000                           */
1001 1001                          different_export = 1;
1002 1002                  } else {
1003 1003  
1004 1004                          /*
↓ open down ↓ 1720 lines elided ↑ open up ↑
2725 2725                   * If dotdotting at the root of a filesystem, then
2726 2726                   * need to traverse back to the mounted-on filesystem
2727 2727                   * and do the dotdot lookup there.
2728 2728                   */
2729 2729                  if ((cs->vp->v_flag & VROOT) || VN_IS_CURZONEROOT(cs->vp)) {
2730 2730  
2731 2731                          /*
2732 2732                           * If at the system root, then can
2733 2733                           * go up no further.
2734 2734                           */
2735      -                        if (VN_CMP(cs->vp, ZONE_ROOTVP()))
     2735 +                        if (VN_IS_CURZONEROOT(cs->vp))
2736 2736                                  return (puterrno4(ENOENT));
2737 2737  
2738 2738                          /*
2739 2739                           * Traverse back to the mounted-on filesystem
2740 2740                           */
2741      -                        cs->vp = untraverse(cs->vp);
     2741 +                        cs->vp = untraverse(cs->exi->exi_ne, cs->vp);
2742 2742  
2743 2743                          /*
2744 2744                           * Set the different_export flag so we remember
2745 2745                           * to pick up a new exportinfo entry for
2746 2746                           * this new filesystem.
2747 2747                           */
2748 2748                          different_export = 1;
2749 2749                  } else {
2750 2750  
2751 2751                          /*
↓ open down ↓ 7356 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX