freebsd-nq/sys/fs/nfsclient
Conrad Meyer b5af3f30a7 nfsclient: Protest loudly when GETATTR responses are invalid
BROKEN NFS SERVER OR MIDDLEWARE: Certain WAN "accelerators" attempt to cache
NFS GETATTR traffic, but actually corrupt it (e.g., responding to requests
with attributes for totally different files).

Warn very verbosely when this is detected. Linux' NFS client has a similar
warning.

Adds a sysctl/tunable (vfs.nfs.fileid_maxwarnings) to configure the quantity
of warnings; default to 10. (Zero disables; -1 is unlimited.)

Adds a failpoint to aid in validating the warning / behavior with a
non-broken server. Use something like:

    sysctl 'debug.fail_point.nfscl_force_fileid_warning=10%return(1)'

Reviewed by:	rmacklem
Approved by:	markj (mentor)
Sponsored by:	EMC / Isilon Storage Division
Differential Revision:	https://reviews.freebsd.org/D3304
2015-08-05 22:27:30 +00:00
..
nfs_clbio.c o Un-inline vm_pager_get_pages(), vm_pager_get_pages_async(). 2015-06-17 22:44:27 +00:00
nfs_clcomsubs.c Modify the NFSv4 client create/mkdir RPC so that it acquires 2014-04-20 22:19:00 +00:00
nfs_clkdtrace.c Fix build. 2013-11-26 10:34:34 +00:00
nfs_clkrpc.c Crashes have been observed for NFSv4.1 mounts when the system 2013-09-04 22:47:56 +00:00
nfs_clnfsiod.c When an NFS unmount occurs, once vflush() writes the last dirty 2013-04-18 23:20:16 +00:00
nfs_clnode.c Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfs_clport.c nfsclient: Protest loudly when GETATTR responses are invalid 2015-08-05 22:27:30 +00:00
nfs_clrpcops.c Alex Burlyga reported a POLA violation for the new NFS client as 2015-07-03 01:15:21 +00:00
nfs_clstate.c Merge the NFSv4.1 server code in projects/nfsv4.1-server over 2014-07-01 20:47:16 +00:00
nfs_clsubs.c - For kernel compiled only with KDTRACE_HOOKS and not any lock debugging 2013-11-25 07:38:45 +00:00
nfs_clvfsops.c If a "principal" argument isn't provided for a Kerberized NFS mount, 2015-07-03 22:11:07 +00:00
nfs_clvnops.c The NFS client wasn't handling getdirentries(2) requests for sizes 2015-05-21 23:14:18 +00:00
nfs_kdtrace.h - Nuke a second copy of nfscl_attrcache extern declarations from under 2013-11-26 22:41:40 +00:00
nfs.h Fix kernel builds with "options NFS_DEBUG" that 2014-12-23 14:24:36 +00:00
nfsmount.h Move the NFSv4.1 client patches over from projects/nfsv4.1-client 2012-12-08 22:52:39 +00:00
nfsnode.h For software builds, the NFS client does many small 2013-12-07 23:05:59 +00:00
nlminfo.h