--- src/afs/FBSD/osi_file.c.orig	2008-08-26 10:01:33.000000000 -0400
+++ src/afs/FBSD/osi_file.c	2009-07-21 21:47:32.000000000 -0400
@@ -75,7 +75,7 @@
     AFS_GUNLOCK();
 #if defined(AFS_FBSD80_ENV)
     vn_lock(afile->vnode, LK_EXCLUSIVE | LK_RETRY);
-    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread);
+    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp);
     VOP_UNLOCK(afile->vnode, 0);
 #elif defined(AFS_FBSD50_ENV)
     vn_lock(afile->vnode, LK_EXCLUSIVE | LK_RETRY, curthread);
@@ -125,8 +125,9 @@
     if (glocked)
       AFS_GUNLOCK();
 #if defined(AFS_FBSD80_ENV)
-    vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
-    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread);
+    lockmgr_assert(vp->v_vnlock, KA_LOCKED);
+    /* vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); */
+    code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp);
 #elif defined(AFS_FBSD50_ENV)
     vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, curthread);
     code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread);
@@ -139,7 +140,10 @@
 
     VATTR_NULL(&tvattr);
     tvattr.va_size = asize;
-#if defined(AFS_FBSD50_ENV)
+
+#if defined(AFS_FBSD80_ENV)
+    code = VOP_SETATTR(vp, &tvattr, afs_osi_credp);
+#elif defined(AFS_FBSD50_ENV)
     code = VOP_SETATTR(vp, &tvattr, afs_osi_credp, curthread);
 #else
     code = VOP_SETATTR(vp, &tvattr, afs_osi_credp, curproc);
