remarkable-linux/fs/nfsd
Andy Adamson 557ce2646e nfsd41: replace page based DRC with buffer based DRC
Use NFSD_SLOT_CACHE_SIZE size buffers for sessions DRC instead of holding nfsd
pages in cache.

Connectathon testing has shown that 1024 bytes for encoded compound operation
responses past the sequence operation is sufficient, 512 bytes is a little too
small. Set NFSD_SLOT_CACHE_SIZE to 1024.

Allocate memory for the session DRC in the CREATE_SESSION operation
to guarantee that the memory resource is available for caching responses.
Allocate each slot individually in preparation for slot table size negotiation.

Remove struct nfsd4_cache_entry and helper functions for the old page-based
DRC.

The iov_len calculation in nfs4svc_encode_compoundres is now always
correct.  Replay is now done in nfsd4_sequence under the state lock, so
the session ref count is only bumped on non-replay. Clean up the
nfs4svc_encode_compoundres session logic.

The nfsd4_compound_state statp pointer is also not used.
Remove nfsd4_set_statp().

Move useful nfsd4_cache_entry fields into nfsd4_slot.

Signed-off-by: Andy Adamson <andros@netapp.com
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2009-09-01 22:24:06 -04:00
..
auth.c nfsd: fix cred leak on every rpc 2009-01-27 17:26:59 -05:00
auth.h nfsd: minor fs/nfsd/auth.h cleanup 2008-02-01 16:42:05 -05:00
export.c SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms 2009-08-09 15:14:29 -04:00
Kconfig nfsd : Define NFSD only when FILE_LOCKING is enabled 2009-03-18 17:30:48 -04:00
lockd.c nfsd: common grace period control 2008-10-03 16:19:02 -04:00
Makefile knfsd: trivial makefile cleanup 2007-05-09 12:30:54 -07:00
nfs2acl.c nfsd: rename MAY_ flags 2008-06-23 13:02:50 -04:00
nfs3acl.c nfsd: rename MAY_ flags 2008-06-23 13:02:50 -04:00
nfs3proc.c NFS: kill off complicated macro 'PROC' 2009-06-15 19:34:32 -07:00
nfs3xdr.c nfsd: support ext4 i_version 2009-04-29 11:35:49 -04:00
nfs4acl.c nfsd4: remove ACE4_IDENTIFIER_GROUP flag from GROUP@ entry 2009-08-27 17:35:41 -04:00
nfs4callback.c nfsd: convert nfs4_cb_conn struct to hold address in sockaddr_storage 2009-08-21 11:27:43 -04:00
nfs4idmap.c SUNRPC: Allow the cache_detail to specify alternative upcall mechanisms 2009-08-09 15:14:29 -04:00
nfs4proc.c NFSD: Fix a bug in the NFSv4 'supported attrs' mandatory attribute 2009-09-01 20:00:17 -04:00
nfs4recover.c nfsd: silence lockdep warning 2009-05-11 17:23:14 -04:00
nfs4state.c nfsd41: replace page based DRC with buffer based DRC 2009-09-01 22:24:06 -04:00
nfs4xdr.c nfsd41: replace page based DRC with buffer based DRC 2009-09-01 22:24:06 -04:00
nfscache.c knfsd: fix reply cache memory corruption 2009-05-27 14:14:02 -04:00
nfsctl.c knfsd: Replace lock_kernel with a mutex in nfsd pool stats. 2009-08-25 12:39:37 -04:00
nfsfh.c knfsd: remove unreported filehandle stats counters 2009-05-27 14:14:03 -04:00
nfsproc.c NFS: kill off complicated macro 'PROC' 2009-06-15 19:34:32 -07:00
nfssvc.c nfsd41: replace page based DRC with buffer based DRC 2009-09-01 22:24:06 -04:00
nfsxdr.c Use struct path in struct svc_export 2008-02-14 21:17:08 -08:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c NFSD: Don't hold unrefcounted creds over call to nfsd_setuser() 2009-07-03 10:21:10 -04:00