[OpenAFS-devel] 1.4.2-beta2 fails to build on 2.4 kernel (FC1)

Chaskiel M Grundman cg2v@andrew.cmu.edu
Wed, 12 Jul 2006 12:28:51 -0400


--On Wednesday, July 12, 2006 12:11:00 PM -0400 Derek Atkins 
<warlord@MIT.EDU> wrote:

> Hi,
>
> I was testing the 1.4.2-beta2 build on FC1 and it failed:
>
> /usr/src/redhat/BUILD/openafs-1.4.2-beta2/src/afs/LINUX/osi_vnodeops.c:
> In function `afs_linux_lock':
> /usr/src/redhat/BUILD/openafs-1.4.2-beta2/src/afs/LINUX/osi_vnodeops.c:47
> 3: error: too few arguments to function `posix_lock_file_R3e30ef09'
oops. The missing value is "wait" ('should posix_lock_file block', which is 
the same thing that FL_SLEEP does on 2.6)


Index: osi_vnodeops.c
===================================================================
RCS file: /cvs/openafs/src/afs/LINUX/osi_vnodeops.c,v
retrieving revision 1.81.2.41
diff -u -d -r1.81.2.41 osi_vnodeops.c
--- osi_vnodeops.c      13 Jun 2006 16:00:38 -0000      1.81.2.41
+++ osi_vnodeops.c      12 Jul 2006 16:26:03 -0000
@@ -465,12 +465,14 @@

 #ifdef AFS_LINUX24_ENV
     if (code == 0 && (cmd == F_SETLK || cmd == F_SETLKW)) {
+#ifdef AFS_LINUX26_ENV
        struct file_lock flp2;
        flp2 = *flp;
-#ifdef AFS_LINUX26_ENV
        flp2.fl_flags &=~ FL_SLEEP;
+       code = posix_lock_file(fp, &flp2);
+#else
+       code = posix_lock_file(fp, &flp, 0);
 #endif
-       code = posix_lock_file(fp, &flp2);
        osi_Assert(code != -EAGAIN); /* there should be no conflicts */
        if (code) {
            struct AFS_FLOCK flock2;