FBSD: in lookup, when ISDOTDOT, unlock dvp
authorBen Kaduk <kaduk@mit.edu>
Wed, 6 Oct 2010 03:30:35 +0000 (23:30 -0400)
committerDerrick Brashear <shadow@dementia.org>
Wed, 6 Oct 2010 06:26:35 +0000 (23:26 -0700)
Keeping dvp locked when vp is its parent can lead to deadlock.
Always unlock dvp, not just for 6 and earlier.

Change-Id: I26a60188d39ccd24b4db7479c57a525bb37618e9
Reviewed-on: http://gerrit.openafs.org/2942
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/FBSD/osi_vnodeops.c

index cbd94d7..57f7db8 100644 (file)
@@ -503,10 +503,8 @@ afs_vop_lookup(ap)
     cnp->cn_flags |= MPSAFE; /* steel */
 #endif
 
-#ifndef AFS_FBSD70_ENV
     if (flags & ISDOTDOT)
        VOP_UNLOCK(dvp, 0, p);
-#endif
 
     AFS_GLOCK();
     error = afs_lookup(VTOAFS(dvp), name, &vcp, cnp->cn_cred);