]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE12-return-correct-values-for-fcntl-FGETLK-20020727
authorNickolai Zeldovich <kolya@mit.edu>
Tue, 30 Jul 2002 22:27:18 +0000 (22:27 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 30 Jul 2002 22:27:18 +0000 (22:27 +0000)
Re-encode struct fcntl back into Linux's struct file_lock so
that fcntl(F_GETLK) returns proper values to the user.

(cherry picked from commit b8ebb1a225c55f38aa2a59b1ffd77c2bdc06ff9f)

src/afs/LINUX/osi_vnodeops.c

index 4b3a187147f04c8ce48a5855655afc51f55c8866..85c8809d4a63006c771f3093f98d57665347ffda 100644 (file)
@@ -543,6 +543,13 @@ static int afs_linux_lock(struct file *fp, int cmd, struct file_lock *flp)
     AFS_GLOCK();
     code = afs_lockctl(vcp, &flock, cmd, credp);
     AFS_GUNLOCK();
+
+    /* Convert flock back to Linux's file_lock */
+    flp->fl_type = flock.l_type;
+    flp->fl_pid = flock.l_pid;
+    flp->fl_start = flock.l_start;
+    flp->fl_end = flock.l_start + flock.l_len;
+
     crfree(credp);
     return -code;