Print this page
Send nfs_export_t to untraverse()

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs4_srv_attr.c
          +++ new/usr/src/uts/common/fs/nfs/nfs4_srv_attr.c
↓ open down ↓ 1312 lines elided ↑ open up ↑
1313 1313           *
1314 1314           * NOTE: Not doing reality checks on curzone vs. compound
1315 1315           * state vnode because it will mismatch once at initialization
1316 1316           * if a non-global-zone triggers the module load, BUT in that case
1317 1317           * the vp is literally "/" which has VROOT set.
1318 1318           */
1319 1319          if ((vp->v_flag & VROOT) || VN_IS_CURZONEROOT(vp)) {
1320 1320  
1321 1321                  /* extra hold for vp since untraverse might rele */
1322 1322                  VN_HOLD(vp);
1323      -                stubvp = untraverse(vp);
     1323 +                stubvp = untraverse(nfs_get_export(), vp);
1324 1324  
1325 1325                  /*
1326 1326                   * If vp/stubvp are same, we must be at system-or-zone
1327 1327                   * root because untraverse returned same vp
1328 1328                   * for a VROOT object.  sarg->vap was setup
1329 1329                   * before we got here, so there's no need to do
1330 1330                   * another getattr -- just use the one in sarg.
1331 1331                   */
1332 1332                  if (VN_CMP(vp, stubvp)) {
1333 1333                          ASSERT(VN_IS_CURZONEROOT(vp));
↓ open down ↓ 1541 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX