linux_dsm_epyc7002/fs/nfs
Trond Myklebust 8fd1ab747d NFSv4: Fix open create exclusive when the server reboots
If the server that does not implement NFSv4.1 persistent session
semantics reboots while we are performing an exclusive create,
then the return value of NFS4ERR_DELAY when we replay the open
during the grace period causes us to lose the verifier.
When the grace period expires, and we present a new verifier,
the server will then correctly reply NFS4ERR_EXIST.

This commit ensures that we always present the same verifier when
replaying the OPEN.

Reported-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2017-11-17 16:43:46 -05:00
..
blocklayout block: replace bi_bdev with a gendisk pointer and partitions index 2017-08-23 12:49:55 -06:00
filelayout fs, nfs: convert nfs_client.cl_count from atomic_t to refcount_t 2017-11-17 13:48:01 -05:00
flexfilelayout fs, nfs: convert nfs_client.cl_count from atomic_t to refcount_t 2017-11-17 13:48:01 -05:00
cache_lib.c fs, nfs: convert nfs_cache_defer_req.count from atomic_t to refcount_t 2017-11-17 13:48:00 -05:00
cache_lib.h fs, nfs: convert nfs_cache_defer_req.count from atomic_t to refcount_t 2017-11-17 13:48:00 -05:00
callback_proc.c NFS: Fix bool initialization/comparison 2017-11-17 16:43:43 -05:00
callback_xdr.c Chuck's RDMA update overhauls the "call receive" side of the 2017-07-13 13:56:24 -07:00
callback.c sunrpc: Const-ify struct sv_serv_ops 2017-08-24 22:13:50 -04:00
callback.h nfs: don't cast callback decode/proc/encode routines 2017-07-13 15:57:56 -04:00
client.c fs, nfs: convert nfs_client.cl_count from atomic_t to refcount_t 2017-11-17 13:48:01 -05:00
delegation.c NFS: Use an atomic_long_t to count the number of requests 2017-08-15 11:54:47 -04:00
delegation.h
dir.c NFS: Fix bool initialization/comparison 2017-11-17 16:43:43 -05:00
direct.c NFSv4: Use a mutex to protect the per-inode commit lists 2017-08-15 11:54:47 -04:00
dns_resolve.c
dns_resolve.h
export.c nfs: add export operations 2017-07-13 17:12:04 -04:00
file.c NFS: various changes relating to reporting IO errors. 2017-09-11 22:28:56 -04:00
fscache-index.c fscache: remove unused ->now_uncached callback 2017-09-06 17:27:26 -07:00
fscache.c
fscache.h
getroot.c
inode.c fs, nfs: convert nfs_lock_context.count from atomic_t to refcount_t 2017-11-17 13:48:01 -05:00
internal.h NFS: various changes relating to reporting IO errors. 2017-09-11 22:28:56 -04:00
io.c
iostat.h
Kconfig pnfs/blocklayout: require 64-bit sector_t 2017-08-11 14:10:13 -04:00
Makefile nfs: add export operations 2017-07-13 17:12:04 -04:00
mount_clnt.c nfs: count correct array for mnt3_counts array size 2017-07-21 08:49:57 -04:00
namespace.c NFS: Use ERR_CAST() to avoid cross-structure cast 2017-05-28 10:11:47 -07:00
netns.h
nfs2super.c
nfs2xdr.c NFS: convert flags to bool 2017-07-13 15:58:04 -04:00
nfs3_fs.h
nfs3acl.c
nfs3client.c
nfs3proc.c NFS: Don't compare apples to elephants to determine access bits 2017-10-16 13:51:27 -04:00
nfs3super.c
nfs3xdr.c NFS: convert flags to bool 2017-07-13 15:58:04 -04:00
nfs4_fs.h NFSv4: Fix OPEN / CLOSE race 2017-11-17 16:43:45 -05:00
nfs4client.c NFS: Fix bool initialization/comparison 2017-11-17 16:43:43 -05:00
nfs4file.c
nfs4getroot.c NFS: Clean up nfs4_get_rootfh() 2017-04-20 13:39:35 -04:00
nfs4idmap.c NFS: Cleanup error handling in nfs_idmap_request_key() 2017-10-01 18:51:30 -04:00
nfs4idmap.h
nfs4namespace.c NFS: Remove extra dprintk()s from nfs4namespace.c 2017-04-20 13:39:35 -04:00
nfs4proc.c NFSv4: Fix open create exclusive when the server reboots 2017-11-17 16:43:46 -05:00
nfs4renewd.c
nfs4session.c
nfs4session.h
nfs4state.c NFSv4: Fix OPEN / CLOSE race 2017-11-17 16:43:45 -05:00
nfs4super.c
nfs4sysctl.c
nfs4trace.c
nfs4trace.h NFSv4: Add a tracepoint to document open stateid updates 2017-11-17 16:43:45 -05:00
nfs4xdr.c nfs: RPC_MAX_AUTH_SIZE is in bytes 2017-10-01 18:51:30 -04:00
nfs42.h
nfs42proc.c NFSv4.2 fix size storage for nfs42_proc_copy 2017-07-13 16:00:14 -04:00
nfs42xdr.c nfs: fix decoder callback prototypes 2017-07-13 15:57:56 -04:00
nfs.h
nfsroot.c
nfstrace.c
nfstrace.h NFS: Add static NFS I/O tracepoints 2017-09-11 22:20:38 -04:00
pagelist.c NFS: various changes relating to reporting IO errors. 2017-09-11 22:28:56 -04:00
pnfs_dev.c
pnfs_nfs.c fs, nfs: convert nfs4_pnfs_ds.ds_count from atomic_t to refcount_t 2017-11-17 13:47:59 -05:00
pnfs.c NFS: Fix bool initialization/comparison 2017-11-17 16:43:43 -05:00
pnfs.h fs, nfs: convert pnfs_layout_hdr.plh_refcount from atomic_t to refcount_t 2017-11-17 13:47:59 -05:00
proc.c NFS: convert flags to bool 2017-07-13 15:58:04 -04:00
read.c NFS: Add static NFS I/O tracepoints 2017-09-11 22:20:38 -04:00
super.c Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2017-09-14 18:54:01 -07:00
symlink.c
sysctl.c
unlink.c NFS: nfs_rename() - revalidate directories on -ERESTARTSYS 2017-07-13 15:58:04 -04:00
write.c NFS: various changes relating to reporting IO errors. 2017-09-11 22:28:56 -04:00