From 4cf035e02da9488fffa6447446ce6afd180f9178 Mon Sep 17 00:00:00 2001 From: Nickolai Zeldovich Date: Tue, 30 Jul 2002 22:27:18 +0000 Subject: [PATCH] STABLE12-return-correct-values-for-fcntl-FGETLK-20020727 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 | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c index 4b3a18714..85c8809d4 100644 --- a/src/afs/LINUX/osi_vnodeops.c +++ b/src/afs/LINUX/osi_vnodeops.c @@ -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; -- 2.39.5