FBSD: adhere to gop_lookupname() semantics
authorBen Kaduk <kaduk@mit.edu>
Fri, 18 Jul 2014 19:19:24 +0000 (15:19 -0400)
committerD Brashear <shadow@your-file-system.com>
Wed, 6 Aug 2014 14:21:20 +0000 (10:21 -0400)
The current semantics are that gop_lookupname() returns an unlocked
vnode; the previous code was written to a different semantic that
a locked vnode should be returned.

This makes a disk cache more likely to work on FreeBSD, but such
configurations remain not very tested.

Change-Id: I12ac77cd271be72af2fa4045c2ebf576847b625e
Reviewed-on: http://gerrit.openafs.org/11317
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: D Brashear <shadow@your-file-system.com>

src/afs/FBSD/osi_misc.c

index 9dd1e11..9ca97e2 100644 (file)
@@ -32,9 +32,9 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink,
        AFS_GUNLOCK();
 
 #if __FreeBSD_version >= 1000021 /* MPSAFE is gone for good! */
-    flags = LOCKLEAF;
+    flags = 0;
 #else
-    flags = LOCKLEAF | MPSAFE; /* namei must take Giant if needed */
+    flags = MPSAFE; /* namei must take Giant if needed */
 #endif
     if (followlink)
        flags |= FOLLOW;