From: Nickolai Zeldovich Date: Tue, 30 Jul 2002 22:27:18 +0000 (+0000) Subject: STABLE12-return-correct-values-for-fcntl-FGETLK-20020727 X-Git-Tag: openafs-stable-1_2_6~19 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=4cf035e02da9488fffa6447446ce6afd180f9178;p=packages%2Fo%2Fopenafs.git 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) --- 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;