linux/fs/nfs
Chuck Lever 573c4e1ef5 NFS: Simplify ->decode_dirent() calling sequence
Clean up.

The pointer returned by ->decode_dirent() is no longer used as a
pointer.  The only call site (xdr_decode() in fs/nfs/dir.c) simply
extracts the errno value encoded in the pointer.  Replace the
returned pointer with a standard integer errno return value.

Also, pass the "server" argument as part of the nfs_entry instead of
as a separate parameter.  It's faster to derive "server" in
nfs_readdir_xdr_to_array() since we already have the directory's inode
handy.  "server" ought to be invariant for a set of entries in the
same directory, right?

The legacy versions of decode_dirent() don't use "server" anyway, so
it's wasted work for them to derive and pass "server" for each entry.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2010-12-16 12:37:24 -05:00
..
cache_lib.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
cache_lib.h NFS: Add a dns resolver for use with NFSv4 referrals and migration 2009-08-19 18:22:15 -04:00
callback_proc.c NFS: change stateid to be a union 2010-10-24 18:02:53 -04:00
callback_xdr.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
callback.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
callback.h nfs41: implement cb_recall_slot 2010-02-10 08:30:59 -05:00
client.c Merge branch 'for-2.6.37' of git://linux-nfs.org/~bfields/linux 2010-10-26 09:55:25 -07:00
delegation.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
delegation.h NFSv41: Fix nfs_async_inode_return_delegation() ugliness 2010-06-22 13:24:02 -04:00
dir.c NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
direct.c Pure nfs client performance using odirect. 2010-11-22 13:24:42 -05: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 NFS: Fix fcntl F_GETLK not reporting some conflicts 2010-12-07 19:30:43 -05:00
fscache-index.c NFS: Add read context retention for FS-Cache to call back with 2009-04-03 16:42:44 +01:00
fscache.c NFS: Squelch compiler warning 2010-05-14 15:09:31 -04:00
fscache.h NFS: Propagate 'fsc' mount option through automounts 2009-09-23 14:36:39 -04:00
getroot.c new helper: ihold() 2010-10-25 21:26:11 -04:00
idmap.c nfs: testing the wrong variable 2010-10-28 11:18:00 -04:00
inode.c NFS: Fix a memory leak in nfs_readdir 2010-12-02 09:58:00 -05:00
internal.h NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig lockd: push lock_flocks down 2010-10-27 21:39:39 +02:00
Makefile NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
mount_clnt.c NFS: Fix panic after nfs_umount() 2010-12-10 13:01:50 -05:00
namespace.c NFS: Reduce the stack footprint of nfs_follow_mountpoint() 2010-05-14 15:09:22 -04:00
nfs2xdr.c NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
nfs3acl.c NFS: Reduce stack footprint of nfs3_proc_getacl() and nfs3_proc_setacl() 2010-05-14 15:09:28 -04:00
nfs3proc.c NFS: readdir with vmapped pages 2010-10-23 15:27:35 -04:00
nfs3xdr.c NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
nfs4_fs.h NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
nfs4filelayout.c NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
nfs4filelayout.h NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
nfs4filelayoutdev.c NFSv4.1: pnfs: filelayout: add driver's LAYOUTGET and GETDEVICEINFO infrastructure 2010-10-24 18:07:11 -04:00
nfs4namespace.c NFSv4: Fix up the documentation for nfs_do_refmount 2010-05-14 15:09:29 -04:00
nfs4proc.c nfs: Discard ACL cache on mode update 2010-12-07 19:30:42 -05:00
nfs4renewd.c NFSv41: Convert the various reboot recovery ops etc to minor version ops 2010-06-22 13:24:02 -04:00
nfs4state.c Merge branch 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 2010-10-26 09:52:09 -07:00
nfs4xdr.c NFS: Simplify ->decode_dirent() calling sequence 2010-12-16 12:37:24 -05:00
nfsroot.c NFS: Fix a compile issue in nfs_root 2010-10-26 13:56:42 -04:00
pagelist.c nfs: remove extraneous and problematic calls to nfs_clear_request 2010-12-07 23:02:44 -05:00
pnfs.c NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
pnfs.h NFSv4.1: Use more sensible names for 'initialize_mountpoint' 2010-10-24 18:07:11 -04:00
proc.c NFS: Introduce new-style XDR decoding functions for NFSv2 2010-12-16 12:37:21 -05:00
read.c nfs: remove extraneous and problematic calls to nfs_clear_request 2010-12-07 23:02:44 -05:00
super.c nfs: kernel should return EPROTONOSUPPORT when not support NFSv4 2010-12-07 19:30:44 -05: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 a couple of open-coded ihold() introduced by nfs merge 2010-10-29 04:14:48 -04:00
write.c nfs: remove extraneous and problematic calls to nfs_clear_request 2010-12-07 23:02:44 -05:00