linux-stable/fs/nfs
Trond Myklebust a1d0b5eebc NFS: Properly handle the case where the delegation is revoked
If we know that the delegation stateid is bad or revoked, we need to
remove that delegation as soon as possible, and then mark all the
stateids that relied on that delegation for recovery. We cannot use
the delegation as part of the recovery process.

Also note that NFSv4.1 uses a different error code (NFS4ERR_DELEG_REVOKED)
to indicate that the delegation was revoked.

Finally, ensure that setlk() and setattr() can both recover safely from
a revoked delegation.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Cc: stable@vger.kernel.org
2012-03-06 10:32:43 -05:00
..
blocklayout NFS: start printks w/ NFS: even if __func__ shown 2012-02-06 18:48:00 -05:00
objlayout NFS: start printks w/ NFS: even if __func__ shown 2012-02-06 18:48:00 -05:00
cache_lib.c NFS: remove RPC PipeFS mount point references from NFS cache routines 2012-01-31 18:20:26 -05:00
cache_lib.h NFS: DNS resolver PipeFS notifier introduced 2012-01-31 18:20:26 -05:00
callback.c SUNRPC: Move clnt->cl_server into struct rpc_xprt 2012-03-02 15:36:41 -05:00
callback.h NFSv4.1: Convert slotid from u8 to u32 2012-02-15 00:19:43 -05:00
callback_proc.c SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field 2012-03-02 15:36:38 -05:00
callback_xdr.c NFSv4.1: Convert slotid from u8 to u32 2012-02-15 00:19:43 -05:00
client.c NFS: Make clientaddr= optional 2012-03-02 17:18:04 -05:00
delegation.c NFS: Properly handle the case where the delegation is revoked 2012-03-06 10:32:43 -05:00
delegation.h NFS: Properly handle the case where the delegation is revoked 2012-03-06 10:32:43 -05:00
dir.c NFS: Make nfs_cache_array.size a signed integer 2012-03-02 15:36:13 -05:00
direct.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
dns_resolve.c NFS: pass proper net rpc_pton() in nfs_dns_resolve_name() 2012-02-06 18:48:04 -05:00
dns_resolve.h NFS: DNS resolver cache per network namespace context introduced 2012-01-31 18:20:26 -05:00
file.c NFS: Ensure that mmapped pages remain stable during writeback 2012-01-31 19:28:08 -05:00
fscache-index.c NFS: Use the inode->i_version to cache NFSv4 change attribute information 2011-10-18 09:14:34 -07:00
fscache.c FS-Cache: Add a helper to bulk uncache pages on an inode 2011-07-07 13:21:56 -07:00
fscache.h
getroot.c Merge branch 'nfs-for-2.6.39' into nfs-for-next 2011-03-24 17:03:14 -04:00
idmap.c NFS: Store the legacy idmapper result in the keyring 2012-03-01 17:10:16 -05:00
inode.c NFS: Fix a typo in _nfs_display_fhandle 2012-03-06 10:32:43 -05:00
internal.h NFS: search for client session id in proper network namespace 2012-02-06 18:48:04 -05:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig NFSv4: Send implementation id with exchange_id 2012-03-01 17:10:21 -05:00
Makefile pnfsblock: add blocklayout Kconfig option, Makefile, and stubs 2011-07-31 12:18:15 -04:00
mount_clnt.c SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
namespace.c nfs: Clean up debugging in nfs_follow_mountpoint() 2012-02-16 15:05:16 -05:00
netns.h NFS: make nfs_client_lock per net ns 2012-02-06 18:48:03 -05:00
nfs2xdr.c SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
nfs3acl.c switch posix_acl_create() to umode_t * 2011-08-01 02:09:42 -04:00
nfs3proc.c Freezer / sunrpc / NFS: don't allow TASK_KILLABLE sleeps to block the freezer 2011-12-06 22:12:27 +01:00
nfs3xdr.c SUNRPC: constify the rpc_program 2012-01-31 19:28:20 -05:00
nfs4_fs.h NFS: Properly handle the case where the delegation is revoked 2012-03-06 10:32:43 -05:00
nfs4filelayout.c NFS: include filelayout DS rpc stats in mountstats 2012-02-17 13:39:47 -05:00
nfs4filelayout.h NFSv4.1: do not use deviceids after MDS clientid invalidation 2011-07-12 13:40:29 -04:00
nfs4filelayoutdev.c NFS: Fix comparison between DS address lists 2012-02-06 18:48:00 -05:00
nfs4namespace.c SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field 2012-03-02 15:36:38 -05:00
nfs4proc.c NFS: Properly handle the case where the delegation is revoked 2012-03-06 10:32:43 -05:00
nfs4renewd.c NFSv4: The NFSv4.0 client must send RENEW calls if it holds a delegation 2011-08-24 15:07:37 -04:00
nfs4state.c NFS: Properly handle the case where the delegation is revoked 2012-03-06 10:32:43 -05:00
nfs4xdr.c Merge commit 'nfs-for-3.3-4' into nfs-for-next 2012-03-03 15:05:56 -05:00
nfsroot.c NFS: Revert NFSROOT default mount options 2011-05-27 17:42:47 -04:00
pagelist.c NFS: Remove unnecessary includes from linux/nfs_fs_i.h 2012-01-31 18:20:28 -05:00
pnfs.c NFSv4.1: Get rid of redundant NFS4CLNT_LAYOUTRECALL tests 2012-03-01 11:17:47 -05:00
pnfs.h NFSv4.1: Don't call nfs4_deviceid_purge_client() unless we're NFSv4.1 2012-02-26 17:34:22 -05:00
pnfs_dev.c fs: add export.h to files using EXPORT_SYMBOL/THIS_MODULE macros 2011-10-31 19:30:31 -04:00
proc.c Freezer / sunrpc / NFS: don't allow TASK_KILLABLE sleeps to block the freezer 2011-12-06 22:12:27 +01:00
read.c NFSv41: Add a new helper nfs4_init_sequence() 2012-01-31 19:28:06 -05:00
super.c NFS: Fix a compile issue when !CONFIG_NFS_V4_1 2012-03-05 15:27:01 -05: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: Fall back on old idmapper if request_key() fails 2012-02-06 18:48:01 -05:00
unlink.c NFSv41: Add a new helper nfs4_init_sequence() 2012-01-31 19:28:06 -05:00
write.c NFSv41: Add a new helper nfs4_init_sequence() 2012-01-31 19:28:06 -05:00