===================================================================
RCS file: /cvs/openafs/acinclude.m4,v
retrieving revision 1.114.2.77
retrieving revision 1.114.2.78
diff -u -r1.114.2.77 -r1.114.2.78
--- openafs/acinclude.m4	2007/04/18 18:27:46	1.114.2.77
+++ openafs/acinclude.m4	2007/05/17 06:39:48	1.114.2.78
@@ -612,6 +612,7 @@
 		 LINUX_FS_STRUCT_FOP_HAS_FLOCK
 		 LINUX_KERNEL_LINUX_SYSCALL_H
 		 LINUX_KERNEL_LINUX_SEQ_FILE_H
+		 LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
 		 LINUX_KERNEL_SELINUX
 		 LINUX_KERNEL_SOCK_CREATE
 		 LINUX_KERNEL_PAGE_FOLLOW_LINK
@@ -767,6 +768,9 @@
 		 fi
 		 if test "x$ac_cv_linux_func_recalc_sigpending_takes_void" = "xyes"; then 
 		  AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
+		 fi
+		 if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
+		  AC_DEFINE(LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
 		 fi
 		 if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
 		  AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
===================================================================
RCS file: /cvs/openafs/acinclude.m4,v
retrieving revision 1.114.2.79
retrieving revision 1.114.2.80
diff -u -r1.114.2.79 -r1.114.2.80
--- openafs/acinclude.m4	2007/05/17 06:52:52	1.114.2.79
+++ openafs/acinclude.m4	2007/05/17 18:38:46	1.114.2.80
@@ -770,7 +770,7 @@
 		  AC_DEFINE(RECALC_SIGPENDING_TAKES_VOID, 1, [define if your recalc_sigpending takes void])
 		 fi
 		 if test "x$ac_cv_linux_kernel_posix_lock_file_wait_arg" = "xyes" ; then
-		  AC_DEFINE(LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
+		  AC_DEFINE(POSIX_LOCK_FILE_WAIT_ARG, 1, [define if your linux kernel uses 3 arguments for posix_lock_file])
 		 fi
 		 if test "x$ac_cv_linux_kernel_is_selinux" = "xyes" ; then
 		  AC_DEFINE(LINUX_KERNEL_IS_SELINUX, 1, [define if your linux kernel uses SELinux features])
===================================================================
RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v
retrieving revision 1.81.2.53
retrieving revision 1.81.2.54
diff -u -r1.81.2.53 -r1.81.2.54
--- openafs/src/afs/LINUX/osi_vnodeops.c	2007/04/19 04:10:35	1.81.2.53
+++ openafs/src/afs/LINUX/osi_vnodeops.c	2007/05/17 06:39:49	1.81.2.54
@@ -473,11 +473,11 @@
 #ifdef AFS_LINUX24_ENV
     if ((code == 0 || flp->fl_type == F_UNLCK) && 
         (cmd == F_SETLK || cmd == F_SETLKW)) {
-#ifdef AFS_LINUX26_ENV
+#ifdef LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
+	code = posix_lock_file(fp, flp, 0);
+#else
 	flp->fl_flags &=~ FL_SLEEP;
 	code = posix_lock_file(fp, flp);
-#else
-	code = posix_lock_file(fp, flp, 0);
 #endif 
 	if (code && flp->fl_type != F_UNLCK) {
 	    struct AFS_FLOCK flock2;
===================================================================
RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v
retrieving revision 1.81.2.54
retrieving revision 1.81.2.55
diff -u -r1.81.2.54 -r1.81.2.55
--- openafs/src/afs/LINUX/osi_vnodeops.c	2007/05/17 06:39:49	1.81.2.54
+++ openafs/src/afs/LINUX/osi_vnodeops.c	2007/05/17 18:38:55	1.81.2.55
@@ -473,7 +473,7 @@
 #ifdef AFS_LINUX24_ENV
     if ((code == 0 || flp->fl_type == F_UNLCK) && 
         (cmd == F_SETLK || cmd == F_SETLKW)) {
-#ifdef LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG
+#ifdef POSIX_LOCK_FILE_WAIT_ARG
 	code = posix_lock_file(fp, flp, 0);
 #else
 	flp->fl_flags &=~ FL_SLEEP;
===================================================================
RCS file: /cvs/openafs/src/cf/linux-test4.m4,v
retrieving revision 1.20.2.30
retrieving revision 1.20.2.31
diff -u -r1.20.2.30 -r1.20.2.31
--- openafs/src/cf/linux-test4.m4	2007/04/18 18:27:49	1.20.2.30
+++ openafs/src/cf/linux-test4.m4	2007/05/17 06:39:49	1.20.2.31
@@ -456,6 +456,17 @@
   AC_MSG_RESULT($ac_cv_linux_fs_struct_super_has_alloc_inode)])
 
 
+AC_DEFUN([LINUX_KERNEL_POSIX_LOCK_FILE_WAIT_ARG], [
+  AC_MSG_CHECKING([for 3rd argument in posix_lock_file found in new kernels])
+  AC_CACHE_VAL([ac_cv_linux_kernel_posix_lock_file_wait_arg], [
+    AC_TRY_KBUILD(
+[#include <linux/fs.h>],
+[posix_lock_file(0,0,0);],
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=yes,
+      ac_cv_linux_kernel_posix_lock_file_wait_arg=no)])
+  AC_MSG_RESULT($ac_cv_linux_kernel_posix_lock_file_wait_arg)])
+
+
 AC_DEFUN([LINUX_KERNEL_SOCK_CREATE], [
   AC_MSG_CHECKING([for 5th argument in sock_create found in some SELinux kernels])
   AC_CACHE_VAL([ac_cv_linux_kernel_sock_create_v], [
