[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;