linux-sg2042/fs/nfs
Trond Myklebust 0a014a44a5 NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags
As described in RFC5661, section 18.46, some of the status flags exist
in order to tell the client when it needs to acknowledge the existence of
revoked state on the server and/or to recover state.
Those flags will then remain set until the recovery procedure is done.

In order to avoid looping, the client therefore needs to ignore
those particular flags while recovering.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Tested-by: Oleg Drokin <green@linuxhacker.ru>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2016-09-27 14:31:27 -04:00
..
blocklayout pnfs/blocklayout: update last_write_offset atomically with extents 2016-08-23 11:41:38 -04:00
filelayout pNFS/files: filelayout_write_done_cb must call nfs_writeback_update_inode() 2016-07-21 09:46:42 -04:00
flexfilelayout pNFS/flexfiles: Fix an Oopsable condition when connection to the DS fails 2016-08-29 15:21:16 -04:00
objlayout mm, fs: get rid of PAGE_CACHE_* and page_cache_{get,release} macros 2016-04-04 10:41:08 -07:00
Kconfig kernel: conditionally support non-root users, groups and capabilities 2015-04-15 16:35:22 -07:00
Makefile NFS: Do not serialise O_DIRECT reads and writes 2016-07-05 19:11:04 -04:00
cache_lib.c NFS: cache_lib: use complete() instead of complete_all() 2016-09-23 09:40:12 -04:00
cache_lib.h NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
callback.c NFSv4.x: Add kernel parameter to control the callback server 2016-09-19 13:08:36 -04:00
callback.h nfs: add handling for CB_NOTIFY_LOCK in client 2016-09-22 13:56:04 -04:00
callback_proc.c nfs: allow blocking locks to be awoken by lock callbacks 2016-09-22 15:54:27 -04:00
callback_xdr.c nfs: add handling for CB_NOTIFY_LOCK in client 2016-09-22 13:56:04 -04:00
client.c pnfs: add a new mechanism to select a layout driver according to an ordered list 2016-09-19 13:11:13 -04:00
delegation.c NFSv4: Use the right stateid for delegations in setattr, read and write 2016-05-17 15:48:07 -04:00
delegation.h NFSv4: Use the right stateid for delegations in setattr, read and write 2016-05-17 15:48:07 -04:00
dir.c NFS: nfs_prime_dcache must validate the filename 2016-09-22 17:02:03 -04:00
direct.c NFS: direct: use complete() instead of complete_all() 2016-09-23 09:14:16 -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: eliminate pointless and confusing do_vfs_lock wrappers 2016-09-22 13:56:04 -04:00
fscache-index.c NFS: Fabricate fscache server index key correctly 2014-09-25 21:25:18 -04:00
fscache.c nfs: define nfs_inc_fscache_stats and using it as possible 2014-11-24 20:08:47 -05: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 VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
inode.c pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding 2016-07-28 14:49:08 -04:00
internal.h nfs: cover ->migratepage with CONFIG_MIGRATION 2016-09-20 09:29:39 -04:00
io.c NFS: Do not serialise O_DIRECT reads and writes 2016-07-05 19:11:04 -04:00
iostat.h nfs: define nfs_inc_fscache_stats and using it as possible 2014-11-24 20:08:47 -05:00
mount_clnt.c NFS: Remove unneeded NFS_DEBUG checking before define NFSDBG_FACILITY 2015-10-21 15:49:23 -05:00
namespace.c VFS: normal filesystems (and lustre): d_inode() annotations 2015-04-15 15:06:57 -04:00
netns.h pnfs/blocklayout: serialize GETDEVICEINFO calls 2014-11-12 14:22:52 -05:00
nfs.h
nfs2super.c
nfs2xdr.c nfs: save server READ/WRITE/COMMIT status 2015-02-03 11:06:40 -08:00
nfs3_fs.h nfsv3: introduce nfs3_set_ds_client 2015-02-03 11:06:34 -08:00
nfs3acl.c posix_acl: Inode acl caching fixes 2016-03-31 00:30:15 -04:00
nfs3client.c nfs4: flexfiles: respect noresvport when establishing connections to DSes 2016-07-19 16:23:25 -04:00
nfs3proc.c qstr: constify instances in nfs 2016-07-20 23:30:06 -04:00
nfs3super.c nfsv3: introduce nfs3_set_ds_client 2015-02-03 11:06:34 -08:00
nfs3xdr.c xprtrdma: Fix large NFS SYMLINK calls 2015-08-05 16:21:28 -04:00
nfs4_fs.h NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags 2016-09-27 14:31:27 -04:00
nfs4client.c nfs: allow blocking locks to be awoken by lock callbacks 2016-09-22 15:54:27 -04:00
nfs4file.c NFSv4: Revert "Truncating file opens should also sync O_DIRECT writes" 2016-07-14 12:42:40 -04:00
nfs4getroot.c nfs: Remove invalid NFS_ATTR_FATTR_V4_REFERRAL checking in nfs4_get_rootfh 2015-07-01 11:31:22 -04:00
nfs4idmap.c KEYS: Add a facility to restrict new links into a keyring 2016-04-11 22:37:37 +01:00
nfs4idmap.h NFS: Move nfs_idmap.h into fs/nfs/ 2015-04-23 15:16:14 -04:00
nfs4namespace.c qstr: constify instances in nfs 2016-07-20 23:30:06 -04:00
nfs4proc.c NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags 2016-09-27 14:31:27 -04:00
nfs4renewd.c NFSv4: Cap the transport reconnection timer at 1/2 lease period 2016-08-05 19:22:22 -04:00
nfs4session.c NFSv4.1: Delay callback processing when there are referring triples 2016-08-28 14:23:26 -04:00
nfs4session.h NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags 2016-09-27 14:31:27 -04:00
nfs4state.c NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags 2016-09-27 14:31:27 -04:00
nfs4super.c NFS: Move nfs_idmap.h into fs/nfs/ 2015-04-23 15:16:14 -04:00
nfs4sysctl.c nfs: do not initialise statics to 0 2015-12-28 09:57:15 -05:00
nfs4trace.c pNFS: Modify pnfs_update_layout tracepoints to use layout stateid 2015-12-28 09:57:14 -05:00
nfs4trace.h tracing: Use __get_str() when manipulating strings 2016-07-15 15:52:20 -04:00
nfs4xdr.c pnfs: add a new mechanism to select a layout driver according to an ordered list 2016-09-19 13:11:13 -04:00
nfs42.h NFS: Add COPY nfs operation 2016-05-17 15:47:55 -04:00
nfs42proc.c pNFS: Handle NFS4ERR_OLD_STATEID correctly in LAYOUTSTAT calls 2016-08-19 16:27:31 -04:00
nfs42xdr.c NFSv4.2: Fix warning "variable ‘stateids’ set but not used" 2016-07-24 17:36:06 -04:00
nfsroot.c nfsroot: make nfsroot to accept the 1024 bytes long directory name 2015-10-21 15:49:19 -05:00
nfstrace.c NFSv4: Allow tracing of NFSv4 fsync calls 2015-03-27 12:39:34 -04:00
nfstrace.h NFS client updates for Linux 4.8 2016-07-30 16:33:25 -07:00
pagelist.c NFS: Add nfs_commit_file() 2016-05-17 15:47:55 -04:00
pnfs.c pnfs: add a new mechanism to select a layout driver according to an ordered list 2016-09-19 13:11:13 -04:00
pnfs.h pnfs: add a new mechanism to select a layout driver according to an ordered list 2016-09-19 13:11:13 -04:00
pnfs_dev.c NFSv4.1: Don't cache deviceids that have no notifications 2015-03-27 12:32:24 -04:00
pnfs_nfs.c NFS pnfs data server multipath session trunking 2016-09-19 13:08:37 -04:00
proc.c qstr: constify instances in nfs 2016-07-20 23:30:06 -04:00
read.c NFS: Fix a double page unlock 2016-06-24 12:01:00 -04:00
super.c NFSv4.x: Add kernel parameter to control the callback server 2016-09-19 13:08:36 -04:00
symlink.c switch ->get_link() to delayed_call, kill ->put_link() 2015-12-30 13:01:03 -05:00
sysctl.c nfs: convert use of typedef ctl_table to struct ctl_table 2014-06-06 16:08:16 -07:00
unlink.c qstr: constify instances in nfs 2016-07-20 23:30:06 -04:00
write.c NFS client updates for Linux 4.8 2016-07-30 16:33:25 -07:00