kernel-fxtec-pro1x/fs/nfs
Sergey Vlasov 21ac19d484 NFS: Fix fcntl F_GETLK not reporting some conflicts
The commit 129a84de23 (locks: fix F_GETLK
regression (failure to find conflicts)) fixed the posix_test_lock()
function by itself, however, its usage in NFS changed by the commit
9d6a8c5c21 (locks: give posix_test_lock
same interface as ->lock) remained broken - subsequent NFS-specific
locking code received F_UNLCK instead of the user-specified lock type.
To fix the problem, fl->fl_type needs to be saved before the
posix_test_lock() call and restored if no local conflicts were reported.

Reference: https://bugzilla.kernel.org/show_bug.cgi?id=23892
Tested-by: Alexander Morozov <amorozov@etersoft.ru>
Signed-off-by: Sergey Vlasov <vsu@altlinux.ru>
Cc: <stable@kernel.org>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2010-12-07 19:30:43 -05:00
..
cache_lib.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
callback.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
callback.h nfs41: implement cb_recall_slot 2010-02-10 08:30:59 -05:00
callback_proc.c NFS: change stateid to be a union 2010-10-24 18:02:53 -04:00
callback_xdr.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
client.c Merge branch 'for-2.6.37' of git://linux-nfs.org/~bfields/linux 2010-10-26 09:55:25 -07:00
delegation.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
delegation.h NFSv41: Fix nfs_async_inode_return_delegation() ugliness 2010-06-22 13:24:02 -04:00
dir.c NFS: Readdir cleanups 2010-12-07 14:09:02 -05:00
direct.c Pure nfs client performance using odirect. 2010-11-22 13:24:42 -05:00
dns_resolve.c sunrpc: use seconds since boot in expiry cache 2010-09-07 19:21:20 -04:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
file.c NFS: Fix fcntl F_GETLK not reporting some conflicts 2010-12-07 19:30:43 -05:00
fscache-index.c NFS: Add read context retention for FS-Cache to call back with 2009-04-03 16:42:44 +01:00
fscache.c NFS: Squelch compiler warning 2010-05-14 15:09:31 -04:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c new helper: ihold() 2010-10-25 21:26:11 -04:00
idmap.c nfs: testing the wrong variable 2010-10-28 11:18:00 -04:00
inode.c NFS: Fix a memory leak in nfs_readdir 2010-12-02 09:58:00 -05:00
internal.h NFS: Ensure we return the dirent->d_type when it is known 2010-11-22 13:24:48 -05:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig lockd: push lock_flocks down 2010-10-27 21:39:39 +02:00
Makefile NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
mount_clnt.c Merge branch 'for-2.6.37' of git://linux-nfs.org/~bfields/linux 2010-10-26 09:55:25 -07:00
namespace.c NFS: Reduce the stack footprint of nfs_follow_mountpoint() 2010-05-14 15:09:22 -04:00
nfs2xdr.c NFS: Ensure we return the dirent->d_type when it is known 2010-11-22 13:24:48 -05:00
nfs3acl.c NFS: Reduce stack footprint of nfs3_proc_getacl() and nfs3_proc_setacl() 2010-05-14 15:09:28 -04:00
nfs3proc.c NFS: readdir with vmapped pages 2010-10-23 15:27:35 -04:00
nfs3xdr.c NFS: Ensure we return the dirent->d_type when it is known 2010-11-22 13:24:48 -05:00
nfs4_fs.h NFS: Readdir plus in v4 2010-10-23 15:27:37 -04:00
nfs4filelayout.c NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
nfs4filelayout.h NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
nfs4filelayoutdev.c NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
nfs4namespace.c NFSv4: Fix up the documentation for nfs_do_refmount 2010-05-14 15:09:29 -04:00
nfs4proc.c nfs: Discard ACL cache on mode update 2010-12-07 19:30:42 -05:00
nfs4renewd.c NFSv41: Convert the various reboot recovery ops etc to minor version ops 2010-06-22 13:24:02 -04:00
nfs4state.c Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 2010-10-26 09:52:09 -07:00
nfs4xdr.c NFS: Ensure we return the dirent->d_type when it is known 2010-11-22 13:24:48 -05:00
nfsroot.c NFS: Fix a compile issue in nfs_root 2010-10-26 13:56:42 -04:00
pagelist.c nfs: handle lock context allocation failures in nfs_create_request 2010-10-28 11:17:25 -04:00
pnfs.c NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
pnfs.h NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
proc.c NFS: readdir with vmapped pages 2010-10-23 15:27:35 -04:00
read.c NFS: create and destroy inode's layout cache 2010-10-24 18:07:10 -04:00
super.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
symlink.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysctl.c NFS: new idmapper 2010-10-07 18:48:49 -04:00
unlink.c a couple of open-coded ihold() introduced by nfs merge 2010-10-29 04:14:48 -04:00
write.c writeback: remove nonblocking/encountered_congestion references 2010-10-26 16:52:05 -07:00