Print this page
7378 exported_lock held during nfs4 compound processing

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/nfs/nfs4_srv_ns.c
          +++ new/usr/src/uts/common/fs/nfs/nfs4_srv_ns.c
↓ open down ↓ 631 lines elided ↑ open up ↑
 632  632                  if (error)
 633  633                          break;
 634  634  
 635  635                  if (! exportdir) {
 636  636                          /*
 637  637                           * Check if this exportroot is a VROOT dir.  If so,
 638  638                           * then attach the pseudonodes.  If not, then
 639  639                           * continue .. traversal until we hit a VROOT
 640  640                           * export (pseudo or real).
 641  641                           */
 642      -                        exi = checkexport4(&vp->v_vfsp->vfs_fsid, &fid, vp);
      642 +                        exi = checkexport_nohold(&vp->v_vfsp->vfs_fsid, &fid,
      643 +                            vp);
 643  644                          if (exi != NULL && vp->v_flag & VROOT) {
 644  645                                  /*
 645  646                                   * Found an export info
 646  647                                   *
 647  648                                   * Extend the list of visible
 648  649                                   * directories whether it's a pseudo
 649  650                                   * or a real export.
 650  651                                   */
 651  652                                  more_visible(exi, tree_head);
 652  653                                  break;  /* and climb no further */
↓ open down ↓ 480 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX