linux-kernel-test/fs/nfs
NeilBrown 8478eaa16e NFSv4: use exponential retry on NFS4ERR_DELAY for async requests.
Currently asynchronous NFSv4 request will be retried with
exponential timeout (from 1/10 to 15 seconds), but async
requests will always use a 15second retry.

Some "async" requests are really synchronous though.  The
async mechanism is used to allow the request to continue if
the requesting process is killed.
In those cases, an exponential retry is appropriate.

For example, if two different clients both open a file and
get a READ delegation, and one client then unlinks the file
(while still holding an open file descriptor), that unlink
will used the "silly-rename" handling which is async.
The first rename will result in NFS4ERR_DELAY while the
delegation is reclaimed from the other client.  The rename
will not be retried for 15 seconds, causing an unlink to take
15 seconds rather than 100msec.

This patch only added exponential timeout for async unlink and
async rename.  Other async calls, such as 'close' are sometimes
waited for so they might benefit from exponential timeout too.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
2014-09-24 23:22:47 -04:00
..
blocklayout pnfs/blocklayout: Fix a 64-bit division/remainder issue in bl_map_stripe 2014-09-21 14:20:20 -04:00
filelayout pnfs: factor GETDEVICEINFO implementations 2014-09-10 12:47:03 -07:00
objlayout pnfs/objlayout: fix endianess annotation in objio_alloc_deviceid_node 2014-09-12 13:20:43 -04:00
cache_lib.c NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
cache_lib.h NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
callback_proc.c pnfs: enable CB_NOTIFY_DEVICEID support 2014-09-12 13:33:50 -04:00
callback_xdr.c Merge branch 'labeled-nfs' into linux-next 2013-06-28 16:29:51 -04:00
callback.c nfs4: copy acceptor name from context to nfs_client 2014-07-12 18:41:25 -04:00
callback.h NFS: Add in v4.2 callback operation 2013-06-08 16:20:18 -04:00
client.c nfs: add __acquires and __releases annotations to seqfile start/stop routines 2014-09-10 12:47:04 -07:00
delegation.c nfs4: add nfs4_check_delegation 2014-07-12 18:22:58 -04:00
delegation.h nfs4: add nfs4_check_delegation 2014-07-12 18:22:58 -04:00
dir.c NFS: fix two problems in lookup_revalidate in RCU-walk 2014-08-04 09:22:08 -04:00
direct.c NFS: Unconditionally enable commit code 2014-09-12 13:49:31 -04:00
dns_resolve.c NFS: Enabling v4.2 should not recompile nfsd and lockd 2013-11-19 16:20:40 -05:00
dns_resolve.h
file.c nfs: fix RCU cl_xprt handling in nfs_swap_activate/deactivate 2014-09-10 12:47:04 -07:00
fscache-index.c
fscache.c NFS: Use i_writecount to control whether to get an fscache cookie in nfs_open() 2013-09-27 18:40:25 +01:00
fscache.h NFS: Use i_writecount to control whether to get an fscache cookie in nfs_open() 2013-09-27 18:40:25 +01:00
getroot.c dcache: d_obtain_alias callers don't all want DISCONNECTED 2014-08-07 14:40:10 -04:00
idmap.c Merge branch 'keys-fixes' into keys-next 2014-07-22 21:55:45 +01:00
inode.c nfs: setattr can only change regular file sizes 2014-09-10 12:47:04 -07:00
internal.h NFS: Move v3 declarations out of internal.h 2014-09-12 13:49:40 -04:00
iostat.h
Kconfig nfs: fix pnfs Kconfig defaults 2013-11-15 13:41:43 -05:00
Makefile Push the file layout driver into a subdirectory 2014-05-29 20:21:56 -04:00
mount_clnt.c nfs: have nfs_mount fake up a auth_flavs list when the server didn't provide it 2013-06-28 15:51:51 -04:00
namespace.c nfs: use %p[dD] instead of open-coded (and often racy) equivalents 2013-10-24 23:34:50 -04:00
netns.h NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes 2014-08-04 09:28:32 -07:00
nfs2super.c
nfs2xdr.c NFS: Create a common results structure for reads and writes 2014-05-28 18:12:43 -04:00
nfs3_fs.h NFS: Move NFS v3 acl functions to nfs3_fs.h 2014-09-12 13:50:26 -04:00
nfs3acl.c NFSv3: Fix another acl regression 2014-08-26 16:17:48 -04:00
nfs3client.c
nfs3proc.c NFS: Move v3 declarations out of internal.h 2014-09-12 13:49:40 -04:00
nfs3super.c NFS: Move NFS v3 acl functions to nfs3_fs.h 2014-09-12 13:50:26 -04:00
nfs3xdr.c NFS: Create a common results structure for reads and writes 2014-05-28 18:12:43 -04:00
nfs4_fs.h nfs: revert "nfs4: queue free_lock_state job submission to nfsiod" 2014-09-08 17:00:32 -07:00
nfs4client.c nfsv4: set hostname when creating nfsv4 ds connection 2014-07-08 14:30:03 -04:00
nfs4file.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-06-12 10:30:18 -07:00
nfs4getroot.c NFSv4: Fix security auto-negotiation 2013-09-07 16:18:30 -04:00
nfs4namespace.c NFSv4: test SECINFO RPC_AUTH_GSS pseudoflavors for support 2014-06-24 18:46:58 -04:00
nfs4proc.c NFSv4: use exponential retry on NFS4ERR_DELAY for async requests. 2014-09-24 23:22:47 -04:00
nfs4renewd.c
nfs4session.c NFSv4.1: nfs4_destroy_session must call rpc_destroy_waitqueue 2014-02-01 15:13:39 -05:00
nfs4session.h NFSv4.1: nfs4_destroy_session must call rpc_destroy_waitqueue 2014-02-01 15:13:39 -05:00
nfs4state.c Fixing lease renewal 2014-09-24 23:03:15 -04:00
nfs4super.c mm + fs: store shadow entries in page cache 2014-04-03 16:21:01 -07:00
nfs4sysctl.c nfs: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
nfs4trace.c NFSv4.1: Add tracepoints for debugging slot table operations 2013-08-22 08:58:27 -04:00
nfs4trace.h nfs: merge nfs_pgio_data into _header 2014-06-24 18:47:00 -04:00
nfs4xdr.c pnfs: enable CB_NOTIFY_DEVICEID support 2014-09-12 13:33:50 -04:00
nfs.h
nfsroot.c
nfstrace.c NFS: Add event tracing for generic NFS lookups 2013-08-22 08:58:18 -04:00
nfstrace.h NFS: fix the handling of NFS_INO_INVALID_DATA flag in nfs_revalidate_mapping 2014-01-27 15:35:56 -05:00
pagelist.c nfs: cap request size to fit a kmalloced page array 2014-09-10 12:47:01 -07:00
pnfs_dev.c pnfs: remove GETDEVICELIST implementation 2014-09-12 13:20:54 -04:00
pnfs.c pnfs: add return_range method 2014-09-10 12:47:03 -07:00
pnfs.h nfs41: change PNFS_LAYOUTRET_ON_SETATTR to only return on truncation to smaller size 2014-09-12 14:03:20 -04:00
proc.c nfs: merge nfs_pgio_data into _header 2014-06-24 18:47:00 -04:00
read.c nfs: get rid of duplicate dprintk 2014-06-25 19:01:27 -04:00
super.c NFS: Remove v3 not compiled check from validate_mount_data() 2014-09-12 13:50:20 -04:00
symlink.c
sysctl.c nfs: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
unlink.c nfs: emit a fsnotify_nameremove call in sillyrename codepath 2014-03-17 15:14:17 -04:00
write.c NFS: Unconditionally enable commit code 2014-09-12 13:49:31 -04:00