linux-kernel-test/fs/nfs
Chuck Lever 2c820d9a97 NFS: Force server to drop NFSv4 state
nfs4_reset_all_state() refreshes the boot verifier a server sees to
trigger that server to wipe this client's state.  This function is
invoked when an NFSv4.1 server reports that it has revoked some or
all of a client's NFSv4 state.

To facilitate server trunking discovery, we will eventually want to
move the cl_boot_time field to a more global structure.  The Uniform
Client String model (and specifically, server trunking detection)
requires that all servers see the same boot verifier until the client
actually does reboot, and not a fresh verifier every time the client
unmounts and remounts the server.

Without the cl_boot_time field, however, nfs4_reset_all_state() will
have to find some other way to force the server to purge the client's
NFSv4 state.

Because these verifiers are opaque (ie, the server doesn't know or
care that they happen to be timestamps), we can force the server
to wipe NFSv4 state by updating the boot verifier as we do now, then
immediately afterwards establish a fresh client ID using the old boot
verifier again.

Hopefully there are no extra paranoid server implementations that keep
track of the client's boot verifiers and prevent clients from reusing
a previous one.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-05-22 16:45:45 -04:00
..
blocklayout NFS: Use proper naming conventions for the nfs_client.net field 2012-05-22 16:45:44 -04:00
objlayout NFS: Fix sparse warnings 2012-05-04 14:59:51 -04: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_proc.c NFSv4: Further clean-ups of delegation stateid validation 2012-03-06 10:32:44 -05:00
callback_xdr.c NFSv4: Rate limit the state manager warning messages 2012-03-12 18:15:22 -04:00
callback.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
callback.h NFSv4.1: Convert slotid from u8 to u32 2012-02-15 00:19:43 -05:00
client.c NFS: Use proper naming conventions for the nfs_client.net field 2012-05-22 16:45:44 -04:00
delegation.c NFSv4: nfs_client_return_marked_delegations can't flush data 2012-05-08 12:53:21 -04:00
delegation.h NFS: nfs_inode_return_delegation() should always flush dirty data 2012-05-08 12:53:21 -04:00
dir.c NFS: Adapt readdirplus to application usage patterns 2012-05-01 19:16:43 -04:00
direct.c NFS: Clean up - Simplify reference counting in fs/nfs/direct.c 2012-05-09 15:17:49 -04:00
dns_resolve.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
dns_resolve.h NFS: DNS resolver cache per network namespace context introduced 2012-01-31 18:20:26 -05:00
file.c NFS: Don't do a full flush to disk on close() if we hold a delegation 2012-05-08 12:53:21 -04: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 NFS: Don't pass mount data to nfs_fscache_get_super_cookie() 2012-05-14 17:30:26 -07:00
fscache.h NFS: Fix a compile issue when CONFIG_NFS_FSCACHE was undefined 2012-05-16 10:24:20 -07:00
getroot.c NFS: Create a single nfs_get_root() 2012-05-14 17:30:26 -07:00
idmap.c NFS: Use proper naming conventions for the nfs_client.net field 2012-05-22 16:45:44 -04:00
inode.c Fixed goto readability in nfs_update_inode. 2012-05-19 17:10:10 -04:00
internal.h NFSv4.1 remove nfs4_reset_write and nfs4_reset_read 2012-05-19 17:54:59 -04:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig NFS: Turn v3 on by default 2012-05-14 17:42:22 -07:00
Makefile NFS: Make v2 configurable 2012-05-14 17:42:22 -07:00
mount_clnt.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
namespace.c NFS: Remove extra rpc_clnt argument to proc_lookup 2012-04-27 14:10:39 -04:00
netns.h NFS: replace global bl_wq with per-net one 2012-03-11 10:57:35 -04:00
nfs2xdr.c NFS: Create an NFS v3 stat_to_errno() 2012-05-14 17:42:21 -07:00
nfs3acl.c NFS: Fix a number of sparse warnings 2012-03-11 15:14:16 -04:00
nfs3proc.c NFS: Remove extra rpc_clnt argument to proc_lookup 2012-04-27 14:10:39 -04:00
nfs3xdr.c NFS: Create an NFS v3 stat_to_errno() 2012-05-14 17:42:21 -07:00
nfs4_fs.h NFS: Force server to drop NFSv4 state 2012-05-22 16:45:45 -04:00
nfs4filelayout.c NFS: Fix compiler warnings 2012-05-22 16:43:04 -04:00
nfs4filelayout.h NFSv4.1 resend LAYOUTGET on data server invalid layout errors 2012-05-19 17:55:33 -04:00
nfs4filelayoutdev.c NFS: Use proper naming conventions for the nfs_client.net field 2012-05-22 16:45:44 -04:00
nfs4namespace.c Merge branch 'bugfixes' into nfs-for-next 2012-05-21 10:12:39 -04:00
nfs4proc.c NFS: Force server to drop NFSv4 state 2012-05-22 16:45:45 -04:00
nfs4renewd.c NFS: Add NFSDBG_STATE 2012-05-22 16:45:42 -04:00
nfs4state.c NFS: Force server to drop NFSv4 state 2012-05-22 16:45:45 -04:00
nfs4xdr.c NFSv4: COMMIT does not need post-op attributes 2012-05-01 15:42:45 -04:00
nfsroot.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
pagelist.c NFS: Clean up - Rename nfs_unlock_request and nfs_unlock_request_dont_release 2012-05-09 15:17:43 -04:00
pnfs_dev.c NFS: Fix more NFS debug related build warnings 2012-03-21 09:31:44 -04:00
pnfs.c NFSv4.1 resend LAYOUTGET on data server invalid layout errors 2012-05-19 17:55:33 -04:00
pnfs.h NFSv4.1 resend LAYOUTGET on data server invalid layout errors 2012-05-19 17:55:33 -04:00
proc.c NFS: Remove extra rpc_clnt argument to proc_lookup 2012-04-27 14:10:39 -04:00
read.c NFSv4.1 set RPC_TASK_SOFTCONN for filelayout DS RPC calls 2012-05-19 17:54:19 -04:00
super.c NFS: Use proper naming conventions for nfs_client.impl_id field 2012-05-22 16:45:43 -04: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 NFS: Remove nfs4_setup_sequence from generic rename code 2012-03-21 09:31:46 -04:00
write.c NFSv4.1 set RPC_TASK_SOFTCONN for filelayout DS RPC calls 2012-05-19 17:54:19 -04:00