darwin-afs-syscall-eliminate-needless-vfs-context-hold-20070618
[openafs.git] / src / afs / afs_syscall.c
index b388b52..5b1d782 100644 (file)
@@ -100,7 +100,7 @@ copyin_afs_ioctl(caddr_t cmarg, struct afs_ioctl *dst)
 
 #ifdef AFS_SPARC64_LINUX26_ENV
     if (test_thread_flag(TIF_32BIT))
-#elif AFS_SPARC64_LINUX24_ENV
+#elif defined(AFS_SPARC64_LINUX24_ENV)
     if (current->thread.flags & SPARC_FLAG_32BIT)
 #elif defined(AFS_SPARC64_LINUX20_ENV)
     if (current->tss.flags & SPARC_FLAG_32BIT)
@@ -367,7 +367,7 @@ copyin_iparam(caddr_t cmarg, struct iparam *dst)
 
 #ifdef AFS_SPARC64_LINUX26_ENV
     if (test_thread_flag(TIF_32BIT))
-#elif AFS_SPARC64_LINUX24_ENV
+#elif defined(AFS_SPARC64_LINUX24_ENV)
     if (current->thread.flags & SPARC_FLAG_32BIT)
 #elif defined(AFS_SPARC64_LINUX20_ENV)
     if (current->tss.flags & SPARC_FLAG_32BIT)
@@ -582,15 +582,9 @@ Afs_syscall()
     osi_InitGlock();
 #endif
     if (uap->syscall == AFSCALL_CALL) {
-#ifdef AFS_SUN5_ENV
-       code =
-           afs_syscall_call(uap->parm1, uap->parm2, uap->parm3, uap->parm4,
-                            uap->parm5, uap->parm6, rvp, CRED());
-#else
        code =
            afs_syscall_call(uap->parm1, uap->parm2, uap->parm3, uap->parm4,
                             uap->parm5, uap->parm6);
-#endif
     } else if (uap->syscall == AFSCALL_SETPAG) {
 #ifdef AFS_SUN5_ENV
        register proc_t *procp;
@@ -711,7 +705,8 @@ Afs_syscall()
     }
 
 #if defined(AFS_DARWIN80_ENV)
-    put_vfs_context();
+    if (uap->syscall != AFSCALL_CALL)
+       put_vfs_context();
 #endif
 #ifdef AFS_LINUX20_ENV
     code = -code;