kernel_optimize_test/fs/nfs
Bryan Schumaker 6938867edb NFS: Remove bad delegations during open recovery
I put the client into an open recovery loop by:
	Client: Open file
		read half
	Server: Expire client (echo 0 > /sys/kernel/debug/nfsd/forget_clients)
	Client: Drop vm cache (echo 3 > /proc/sys/vm/drop_caches)
		finish reading file

This causes a loop because the client never updates the nfs4_state after
discovering that the delegation is invalid.  This means it will keep
trying to read using the bad delegation rather than attempting to re-open
the file.

Signed-off-by: Bryan Schumaker <bjschuma@netapp.com>
CC: stable@vger.kernel.org [3.4+]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2012-10-01 15:17:25 -07:00
..
blocklayout NFSv4.1: Replace get_device_info() with filelayout_get_device_info() 2012-09-28 16:03:08 -04:00
objlayout
cache_lib.c
cache_lib.h
callback_proc.c NFSv4.1: Clean up the removal of pnfs_layout_hdr from the server list 2012-09-28 16:03:14 -04:00
callback_xdr.c
callback.c
callback.h
client.c
delegation.c
delegation.h
dir.c
direct.c NFS: Convert nfs_get_lock_context to return an ERR_PTR on failure 2012-09-28 16:03:03 -04:00
dns_resolve.c
dns_resolve.h
file.c NFS: Write the entire file if a server reboot occurs during fsync() 2012-09-28 16:03:05 -04:00
fscache-index.c
fscache.c
fscache.h
getroot.c
idmap.c NFS: return -ENOKEY when the upcall fails to map the name 2012-08-16 17:20:06 -04:00
inode.c NFS: Clean up helper function nfs4_select_rw_stateid() 2012-09-28 16:03:04 -04:00
internal.h
iostat.h
Kconfig
Makefile
mount_clnt.c
namespace.c
netns.h
nfs2super.c
nfs2xdr.c
nfs3acl.c
nfs3client.c
nfs3proc.c
nfs3super.c
nfs3xdr.c
nfs4_fs.h NFSv4.1: Simplify the pNFS return-on-close code 2012-09-28 16:03:12 -04:00
nfs4client.c
nfs4file.c NFS: Write the entire file if a server reboot occurs during fsync() 2012-09-28 16:03:05 -04:00
nfs4filelayout.c NFSv4.1: Get rid of the NFS_LAYOUT_DESTROYED state 2012-09-28 16:03:16 -04:00
nfs4filelayout.h NFSv4.1: Get rid of pNFS layout state "NFS_LAYOUT_INVALID" 2012-09-28 16:03:12 -04:00
nfs4filelayoutdev.c NFSv4.1: pNFS data servers may be temporarily offline 2012-09-28 16:03:09 -04:00
nfs4getroot.c
nfs4namespace.c
nfs4proc.c NFS: Remove bad delegations during open recovery 2012-10-01 15:17:25 -07:00
nfs4renewd.c
nfs4state.c NFSv4.1: Simplify the pNFS return-on-close code 2012-09-28 16:03:12 -04:00
nfs4super.c
nfs4sysctl.c
nfs4xdr.c NFS: Clean up helper function nfs4_select_rw_stateid() 2012-09-28 16:03:04 -04:00
nfs.h
nfsroot.c
pagelist.c NFS: Clean up helper function nfs4_select_rw_stateid() 2012-09-28 16:03:04 -04:00
pnfs_dev.c NFSv4.1: pNFS data servers may be temporarily offline 2012-09-28 16:03:09 -04:00
pnfs.c NFSv4.1: _pnfs_return_layout() shouldn't invalidate the layout on failure 2012-09-28 16:03:18 -04:00
pnfs.h NFSv4.1: Remove the NFS_LAYOUT_RETURNED state 2012-09-28 16:03:17 -04:00
proc.c
read.c
super.c
symlink.c
sysctl.c
unlink.c
write.c NFS: Fix fdatasync/fsync() when confronted with a server reboot 2012-09-28 16:03:05 -04:00