1
linux/fs/nfs
Jeff Layton 7bda2cdf48 NFS: clean up short packet handling for NFSv4 readdir
Currently, the NFS readdir decoders have a workaround for buggy servers
that send an empty readdir response with the EOF bit unset. If the
server sends a malformed response in some cases, this workaround kicks
in and just returns an empty response rather than returning a proper
error to the caller.

This patch does 3 things:

1) have malformed responses with no entries return error (-EIO)

2) preserve existing workaround for servers that send empty
   responses with the EOF marker unset.

3) Add some comments to clarify the logic in decode_readdir().

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-03-19 18:00:10 -04:00
..
callback_proc.c NFSv4: Iterate through all nfs_clients when the server recalls a delegation 2008-01-30 02:06:12 -05:00
callback_xdr.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
callback.c Wrap buffers used for rpc debug printks into RPC_IFDEBUG 2008-02-21 18:42:29 -05:00
callback.h NFS: Change cb_recallargs to pass "struct sockaddr *" instead of sockaddr_in 2008-01-30 02:05:55 -05:00
client.c SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues 2008-02-28 23:17:27 -08:00
delegation.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
delegation.h NFS: Add an asynchronous delegreturn operation for use in nfs_clear_inode 2008-01-30 02:06:12 -05:00
dir.c SUNRPC: Add a helper rpcauth_lookup_generic_cred() 2008-03-14 13:42:49 -04:00
direct.c NFS: Ensure that the asynchronous RPC calls complete on nfsiod. 2008-02-25 21:40:37 -08:00
file.c NFS: nfs_write_end clean up 2008-01-30 02:06:02 -05:00
getroot.c Convert ERR_PTR(PTR_ERR(p)) instances to ERR_CAST(p) 2008-02-07 08:42:26 -08:00
idmap.c nfs: fix sparse warnings 2008-02-20 16:15:44 -05:00
inode.c SUNRPC: Add a helper rpcauth_lookup_generic_cred() 2008-03-14 13:42:49 -04:00
internal.h Merge commit 'origin' into devel 2008-03-08 11:49:24 -05:00
iostat.h
Makefile
mount_clnt.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
namespace.c Introduce path_put() 2008-02-14 21:13:33 -08:00
nfs2xdr.c NFS: clean up short packet handling for NFSv2 readdir 2008-03-19 18:00:03 -04:00
nfs3acl.c
nfs3proc.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
nfs3xdr.c NFS: clean up short packet handling for NFSv3 readdir 2008-03-19 18:00:06 -04:00
nfs4_fs.h NFSv4: Give the lock stateid its own sequence queue 2008-01-10 13:35:32 -08:00
nfs4namespace.c NFS: Adjust nfs_clone_mount structure to store "struct sockaddr *" 2008-01-30 02:05:56 -05:00
nfs4proc.c SUNRPC: Add a helper rpcauth_lookup_generic_cred() 2008-03-14 13:42:49 -04:00
nfs4renewd.c NFSv4: Fix circular locking dependency in nfs4_kill_renewd 2008-01-03 09:37:16 -05:00
nfs4state.c SUNRPC: Add a (empty for the moment) destructor for rpc_wait_queues 2008-02-28 23:17:27 -08:00
nfs4xdr.c NFS: clean up short packet handling for NFSv4 readdir 2008-03-19 18:00:10 -04:00
nfsroot.c NFS: Switch from intr mount option to TASK_KILLABLE 2007-12-06 17:40:25 -05:00
pagelist.c Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
proc.c NLM/NFS: Use cached nlm_host when calling nlmclnt_proc() 2008-01-30 02:06:07 -05:00
read.c nfs: remove duplicate initializations of nfs_read_data field 2008-03-19 17:59:59 -04:00
super.c NFS: use new LSM interfaces to explicitly set mount options 2008-03-06 08:40:59 +11:00
symlink.c
sysctl.c
unlink.c SUNRPC: Add a helper rpcauth_lookup_generic_cred() 2008-03-14 13:42:49 -04:00
write.c nfs: nfs_redirty_request 2008-03-19 17:59:56 -04:00