linux/fs/nfs
Trond Myklebust c74dfe97c1 NFS: Add mount option 'softreval'
Add a mount option 'softreval' that allows attribute revalidation 'getattr'
calls to time out, and causes them to fall back to using the cached
attributes.
The use case for this option is for ensuring that we can still (slowly)
traverse paths and use cached information even when the server is down.
Once the server comes back up again, the getattr calls start succeeding,
and the caches will revalidate as usual.

The 'softreval' mount option is automatically enabled if you have
specified 'softerr'.  It can be turned off using the options
'nosoftreval', or 'hard'.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2020-01-15 10:54:33 -05:00
..
blocklayout treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
filelayout pNFS/filelayout: enable LAYOUTGET on OPEN 2019-09-24 16:28:38 -04:00
flexfilelayout pNFS/flexfiles: Add tracing for layout errors 2020-01-15 10:54:33 -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_proc.c NFSv4: nfs4_callback_getattr() should ignore revoked delegations 2019-11-03 21:28:45 -05:00
callback_xdr.c NFS4: Report callback authentication errors 2020-01-15 10:54:31 -05:00
callback.c SUNRPC: Cache the process user cred in the RPC server listener 2019-04-24 09:46:35 -04:00
callback.h NFSv4: NFSv4 callbacks also support 64-bit timestamps 2019-11-03 21:28:44 -05:00
client.c NFS: Additional refactoring for fs_context conversion 2020-01-15 10:15:17 -05:00
delegation.c NFSv4: Handle NFS4ERR_OLD_STATEID in delegreturn 2019-11-03 21:28:46 -05:00
delegation.h NFSv4: Revoke the delegation on success in nfs4_delegreturn_done() 2019-11-03 21:28:46 -05:00
dir.c NFS: Trust cached access if we've already revalidated the inode once 2020-01-15 10:54:33 -05:00
direct.c NFS: Fix nfs_direct_write_reschedule_io() 2020-01-15 10:54:33 -05:00
dns_resolve.c keys: Pass the network namespace into request_key mechanism 2019-06-27 23:02:12 +01: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: Add a tracepoint in nfs_fh_to_dentry() 2019-11-03 21:28:46 -05:00
file.c NFS: Fix up fsync() when the server rebooted 2020-01-15 10:54:32 -05:00
fs_context.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
fscache-index.c nfs: fscache: use timespec64 in inode auxdata 2020-01-15 10:54:30 -05:00
fscache.c nfs: fscache: use timespec64 in inode auxdata 2020-01-15 10:54:30 -05:00
fscache.h nfs: fscache: use timespec64 in inode auxdata 2020-01-15 10:54:30 -05:00
getroot.c NFS: Attach supplementary error information to fs_context. 2020-01-15 10:15:17 -05:00
inode.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
internal.h nfs: use timespec64 in nfs_fattr 2020-01-15 10:54:30 -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 nfs: NFS_SWAP should depend on SWAP 2020-01-15 10:54:31 -05:00
Makefile NFS: Move mount parameterisation bits into their own file 2020-01-15 10:15:17 -05:00
mount_clnt.c SUNRPC: Cache cred of process creating the rpc_client 2019-04-26 16:00:48 -04:00
namespace.c NFS: Attach supplementary error information to fs_context. 2020-01-15 10:15:17 -05:00
netns.h NFS: Add sysfs support for per-container identifier 2019-07-06 14:54:49 -04:00
nfs2super.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
nfs2xdr.c nfs: remove timespec from xdr_encode_nfstime 2020-01-15 10:54:30 -05:00
nfs3_fs.h NFS: Additional refactoring for fs_context conversion 2020-01-15 10:15:17 -05:00
nfs3acl.c nfs: fix xfstest generic/099 failed on nfsv3 2019-02-20 17:33:55 -05:00
nfs3client.c NFS: Additional refactoring for fs_context conversion 2020-01-15 10:15:17 -05:00
nfs3proc.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
nfs3super.c treewide: Add SPDX license identifier for more missed files 2019-05-21 10:50:45 +02:00
nfs3xdr.c NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() 2020-01-15 10:54:32 -05:00
nfs4_fs.h NFS: Add fs_context support. 2020-01-15 10:15:17 -05:00
nfs4client.c NFS: Additional refactoring for fs_context conversion 2020-01-15 10:15:17 -05:00
nfs4file.c NFS: Add fs_context support. 2020-01-15 10:15:17 -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 Revert "Merge tag 'keys-acl-20190703' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs" 2019-07-10 18:43:43 -07:00
nfs4idmap.h
nfs4namespace.c NFS: Add missing null check for failed allocation 2020-01-15 10:54:31 -05:00
nfs4proc.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
nfs4renewd.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
nfs4session.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
nfs4session.h NFSv4.1: Bump the default callback session slot count to 16 2019-03-02 16:25:26 -05:00
nfs4state.c NFS4: Remove unneeded semicolon 2020-01-15 10:54:31 -05:00
nfs4super.c NFS: Attach supplementary error information to fs_context. 2020-01-15 10:15:17 -05:00
nfs4sysctl.c nfs: Do not convert nfs_idmap_cache_timeout to jiffies 2018-01-18 15:10:47 -05:00
nfs4trace.c pNFS/flexfiles: Add tracing for layout errors 2020-01-15 10:54:33 -05:00
nfs4trace.h pNFS/flexfiles: Add tracing for layout errors 2020-01-15 10:54:33 -05:00
nfs4xdr.c NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() 2020-01-15 10:54:32 -05:00
nfs42.h NFS based on file size issue sync copy or fallback to generic copy offload 2019-10-09 12:06:22 -04:00
nfs42proc.c NFSv4: Make _nfs42_proc_copy_notify() static 2019-11-18 10:47:38 +01:00
nfs42xdr.c NFS: add ca_source_server<> to COPY 2019-10-09 12:05:49 -04: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
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: Improve tracing of permission calls 2020-01-15 10:54:33 -05:00
pagelist.c NFS: Fix initialisation of I/O result struct in nfs_pgio_rpcsetup 2019-08-19 08:56:04 -04:00
pnfs_dev.c NFS/flexfiles: Speed up read failover when DSes are down 2019-03-01 22:37:38 -05:00
pnfs_nfs.c NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() 2020-01-15 10:54:32 -05:00
pnfs.c NFSv4: add declaration of current_stateid 2019-11-18 10:36:45 +01:00
pnfs.h pNFS/flexfiles: Record resend attempts on I/O failure 2020-01-15 10:54:32 -05:00
proc.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
read.c NFS: When resending after a short write, reset the reply count to zero 2020-01-15 10:54:33 -05:00
super.c NFS: Add mount option 'softreval' 2020-01-15 10:54:33 -05:00
symlink.c nfs: pass the correct prototype to read_cache_page 2019-05-09 16:26:57 -04: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
sysfs.c fs: nfs: sysfs: Remove NULL check before kfree 2019-11-18 10:38:04 +01:00
sysfs.h NFS: Add sysfs support for per-container identifier 2019-07-06 14:54:49 -04:00
unlink.c fsnotify: move fsnotify_nameremove() hook out of d_delete() 2019-06-20 14:47:44 +02:00
write.c NFS: When resending after a short write, reset the reply count to zero 2020-01-15 10:54:33 -05:00