1
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 pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
callback.c NFS do not find client in NFSv4 pg_authenticate 2011-01-25 15:26:51 -05:00
callback.h pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
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 NFS: Move cl_delegations to the nfs_server struct 2011-01-06 14:57:46 -05:00
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 sunrpc: use seconds since boot in expiry cache 2010-09-07 19:21:20 -04:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
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 Merge branch 'nfs-for-2.6.39' into nfs-for-next 2011-03-24 17:03:14 -04:00
idmap.c NFSv4: Send unmapped uid/gids to the server when using auth_sys 2011-03-11 15:39:27 -05:00
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 NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig SUNRPC: sunrpc should not explicitly depend on NFS config options 2011-07-15 09:12:23 -04:00
Makefile pnfs-obj: objlayoutdriver module skeleton 2011-05-29 20:52:35 +03:00
mount_clnt.c NFS: Remove redundant unlikely() 2010-12-21 11:51:23 -05:00
namespace.c NFS: Add SECINFO_NO_NAME procedure 2011-07-12 13:40:27 -04:00
nfs2xdr.c Merge branch 'bugfixes' into nfs-for-2.6.38 2011-01-10 14:48:02 -05:00
nfs3acl.c NFS: Prevent memory allocation failure in nfsacl_encode() 2011-01-25 15:24:47 -05:00
nfs3proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
nfs3xdr.c NFS: Fix "kernel BUG at fs/nfs/nfs3xdr.c:1338!" 2011-01-25 15:24:47 -05:00
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 nfs: nfs_do_{ref,sub}mount() superblock argument is redundant 2011-03-16 16:48:06 -04:00
nfs4proc.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
nfs4renewd.c NFSv4.1: new flag for state renewal check 2011-03-11 15:38:41 -05:00
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 NFS: Revert NFSROOT default mount options 2011-05-27 17:42:47 -04:00
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 NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysctl.c NFS: new idmapper 2010-10-07 18:48:49 -04:00
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