linux/fs/nfs
Trond Myklebust 0c0308066c NFS: Fix spurious readdir cookie loop messages
If the directory contents change, then we have to accept that the
file->f_pos value may shrink if we do a 'search-by-cookie'. In that
case, we should turn off the loop detection and let the NFS client
try to recover.

The patch also fixes a second loop detection bug by ensuring
that after turning on the ctx->duped flag, we read at least one new
cookie into ctx->dir_cookie before attempting to match with
ctx->dup_cookie.

Reported-by: Petr Vandrovec <petr@vandrovec.name>
Cc: stable@kernel.org [2.6.39+]
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2011-07-30 14:34:50 -04:00
..
objlayout pnfs: simplify pnfs files module autoloading 2011-07-15 19:21:58 -04:00
cache_lib.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
cache_lib.h
callback_proc.c NFS: move pnfs layouts to nfs_server structure 2011-07-12 13:40:27 -04:00
callback_xdr.c
callback.c
callback.h
client.c NFS: Convert nfs4_set_ds_client to EXPORT_SYMBOL_GPL 2011-07-15 09:12:24 -04:00
delegation.c NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation() 2011-07-25 15:37:29 -04:00
delegation.h
dir.c NFS: Fix spurious readdir cookie loop messages 2011-07-30 14:34:50 -04:00
direct.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
dns_resolve.c
dns_resolve.h
file.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
fscache-index.c
fscache.c FS-Cache: Add a helper to bulk uncache pages on an inode 2011-07-07 13:21:56 -07:00
fscache.h
getroot.c
idmap.c
inode.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
internal.h NFS: Clean up - simplify the switch to read/write-through-MDS 2011-07-15 09:12:22 -04:00
iostat.h
Kconfig SUNRPC: sunrpc should not explicitly depend on NFS config options 2011-07-15 09:12:23 -04:00
Makefile
mount_clnt.c
namespace.c NFS: Add SECINFO_NO_NAME procedure 2011-07-12 13:40:27 -04:00
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4_fs.h Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
nfs4filelayout.c pnfs: simplify pnfs files module autoloading 2011-07-15 19:21:58 -04:00
nfs4filelayout.h NFSv4.1: do not use deviceids after MDS clientid invalidation 2011-07-12 13:40:29 -04:00
nfs4filelayoutdev.c NFS: fix comment 2011-07-12 13:40:27 -04:00
nfs4namespace.c
nfs4proc.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
nfs4renewd.c
nfs4state.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
nfs4xdr.c NFS: added FREE_STATEID call 2011-07-12 13:40:28 -04:00
nfsroot.c
pagelist.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
pnfs_dev.c NFSv4.1: do not use deviceids after MDS clientid invalidation 2011-07-12 13:40:29 -04:00
pnfs.c NFS: Clean up - simplify the switch to read/write-through-MDS 2011-07-15 09:12:22 -04:00
pnfs.h NFS: Move the pnfs write code into pnfs.c 2011-07-15 09:12:22 -04:00
proc.c
read.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
super.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
symlink.c
sysctl.c
unlink.c nfs: don't use d_move in nfs_async_rename_done 2011-07-25 15:00:21 -04:00
write.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00