linux-stable/fs/nfs
Trond Myklebust a79f194aa4 NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated
If a layout segment gets invalidated while a pNFS I/O operation
is queued for transmission, then we ideally want to abort
immediately. This is particularly the case when there is a large
number of I/O related RPCs queued in the RPC layer, and the layout
segment gets invalidated due to an ENOSPC error, or an EACCES (because
the client was fenced). We may end up forced to spam the MDS with a
lot of otherwise unnecessary LAYOUTERRORs after that I/O fails.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2019-03-01 16:20:16 -05:00
..
blocklayout NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
filelayout pNFS: Don't allocate more pages than we need to fit a layoutget response 2018-09-30 15:35:16 -04:00
flexfilelayout NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated 2019-03-01 16:20:16 -05:00
cache_lib.c NFS client updates for Linux 4.15 2017-11-17 14:18:00 -08:00
cache_lib.h NFS client updates for Linux 4.15 2017-11-17 14:18:00 -08:00
callback.c nfs: fixed broken compilation in nfs_callback_up_net() 2018-12-31 11:25:16 -05:00
callback.h NFS CB_OFFLOAD xdr 2018-08-09 12:56:38 -04:00
callback_proc.c NFSv4.2 copy do not allocate memory under the lock 2018-11-22 13:54:46 -05:00
callback_xdr.c NFS: Remove print_overflow_msg() 2019-02-13 11:53:45 -05:00
client.c NFS/SUNRPC: don't lookup machine credential until rpcauth_bindcred(). 2018-12-19 13:52:45 -05:00
delegation.c NFS: Fix a soft lockup in the delegation recovery code 2019-02-21 14:51:25 -05:00
delegation.h NFS: Fix a soft lockup in the delegation recovery code 2019-02-21 14:51:25 -05:00
dir.c NFS: Fix typo in comments of nfs_readdir_alloc_pages() 2019-02-20 17:33:55 -05:00
direct.c NFS: Pass error information to the pgio error cleanup routine 2019-02-20 15:14:20 -05:00
dns_resolve.c NFS: Fix up a typo in nfs_dns_ent_put 2018-10-29 16:58:04 -04:00
dns_resolve.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
export.c NFS: Pass the inode down to the getattr() callback 2018-06-04 12:07:07 -04:00
file.c pNFS: Avoid read/modify/write when it is not necessary 2019-02-20 17:33:55 -05:00
fscache-index.c vfs: change inode times to use struct timespec64 2018-06-05 16:57:31 -07:00
fscache.c vfs: change inode times to use struct timespec64 2018-06-05 16:57:31 -07:00
fscache.h fscache: Pass object size in rather than calling back for it 2018-04-06 14:05:14 +01:00
getroot.c Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
inode.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
internal.h NFS: readdirplus optimization by cache mechanism 2019-02-20 17:33:55 -05:00
io.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
iostat.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig pnfs/blocklayout: require 64-bit sector_t 2017-08-11 14:10:13 -04:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mount_clnt.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
namespace.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
netns.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs2super.c
nfs2xdr.c NFS: Account for XDR pad of buf->pages 2019-02-14 10:13:49 -05:00
nfs3_fs.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs3acl.c nfs: fix xfstest generic/099 failed on nfsv3 2019-02-20 17:33:55 -05:00
nfs3client.c NFS: Remove unused authflavour parameter from nfs_get_client() 2016-12-01 17:46:32 -05:00
nfs3proc.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
nfs3super.c
nfs3xdr.c NFS: Account for XDR pad of buf->pages 2019-02-14 10:13:49 -05:00
nfs4_fs.h sunrpc: Add xprt after nfs4_test_session_trunk() 2019-01-02 12:05:19 -05:00
nfs4client.c NFS: drop useless LIST_HEAD 2019-02-20 17:33:55 -05:00
nfs4file.c NFSv4.2 fix unnecessary retry in nfs4_copy_file_range 2019-01-15 11:24:49 -05:00
nfs4getroot.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs4idmap.c keys: Fix dependency loop between construction record and auth key 2019-02-15 14:12:09 -08:00
nfs4idmap.h
nfs4namespace.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
nfs4proc.c NFSv4.1: Don't process the sequence op more than once. 2019-03-01 12:16:28 -05:00
nfs4renewd.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
nfs4session.c NFSv4.1: Avoid false retries when RPC calls are interrupted 2019-02-21 13:22:43 -05:00
nfs4session.h NFSv4.1: Avoid false retries when RPC calls are interrupted 2019-02-21 13:22:43 -05:00
nfs4state.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
nfs4super.c
nfs4sysctl.c nfs: Do not convert nfs_idmap_cache_timeout to jiffies 2018-01-18 15:10:47 -05:00
nfs4trace.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs4trace.h NFS: Add trace events to report non-zero NFS status codes 2019-02-13 12:03:21 -05:00
nfs4xdr.c NFS: Account for XDR pad of buf->pages 2019-02-14 10:13:49 -05:00
nfs42.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfs42proc.c NFSv4.2 copy do not allocate memory under the lock 2018-11-22 13:54:46 -05:00
nfs42xdr.c NFS: Add missing encode / decode sequence_maxsz to v4.2 operations 2019-03-01 16:19:46 -05:00
nfsroot.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
nfstrace.c NFS: Add trace events to report non-zero NFS status codes 2019-02-13 12:03:21 -05:00
nfstrace.h NFS: Add trace events to report non-zero NFS status codes 2019-02-13 12:03:21 -05:00
pagelist.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
pnfs.c NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount 2019-02-23 13:59:29 -05:00
pnfs.h NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount 2019-02-23 13:59:29 -05:00
pnfs_dev.c NFSv4/pnfs: Fix barriers in nfs4_mark_deviceid_unavailable() 2019-03-01 16:20:16 -05:00
pnfs_nfs.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
proc.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
read.c NFS: Pass error information to the pgio error cleanup routine 2019-02-20 15:14:20 -05:00
super.c fs/nfs: Fix nfs_parse_devname to not modify it's argument 2019-02-20 17:33:55 -05:00
symlink.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
sysctl.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
unlink.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00
write.c NFS: Fix up documentation warnings 2019-02-20 15:14:21 -05:00