linux/fs/nfsd
NeilBrown 4452435948 [PATCH] knfsd: Replace two page lists in struct svc_rqst with one
We are planning to increase RPCSVC_MAXPAGES from about 8 to about 256.  This
means we need to be a bit careful about arrays of size RPCSVC_MAXPAGES.

struct svc_rqst contains two such arrays.  However the there are never more
that RPCSVC_MAXPAGES pages in the two arrays together, so only one array is
needed.

The two arrays are for the pages holding the request, and the pages holding
the reply.  Instead of two arrays, we can simply keep an index into where the
first reply page is.

This patch also removes a number of small inline functions that probably
server to obscure what is going on rather than clarify it, and opencode the
needed functionality.

Also remove the 'rq_restailpage' variable as it is *always* 0.  i.e.  if the
response 'xdr' structure has a non-empty tail it is always in the same pages
as the head.

 check counters are initilised and incr properly
 check for consistant usage of ++ etc
 maybe extra some inlines for common approach
 general review

Signed-off-by: Neil Brown <neilb@suse.de>
Cc: Magnus Maatta <novell@kiruna.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:15 -07:00
..
Makefile [PATCH] knfsd: nfsd4: reboot hash 2005-06-24 00:06:33 -07:00
auth.c [PATCH] knfsd: nfsd: nfsd_setuser doesn't really need to modify rqstp->rq_cred. 2006-04-11 06:18:52 -07:00
export.c [PATCH] nfsd: add lock annotations to e_start and e_stop 2006-10-02 07:57:18 -07:00
lockd.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nfs2acl.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00
nfs3acl.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00
nfs3proc.c [PATCH] knfsd: Correct reserved reply space for read requests. 2006-04-11 06:18:51 -07:00
nfs3xdr.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00
nfs4acl.c [PATCH] knfsd: nfsd4: better nfs4acl errors 2006-04-11 06:18:51 -07:00
nfs4callback.c [PATCH] knfsd: add some missing newlines in printks 2006-10-02 07:57:17 -07:00
nfs4idmap.c [PATCH] fs: Conversions from kmalloc+memset to k(z|c)alloc 2006-09-27 08:26:10 -07:00
nfs4proc.c [PATCH] knfsd: add some missing newlines in printks 2006-10-02 07:57:17 -07:00
nfs4recover.c [PATCH] VFS: Make filldir_t and struct kstat deal in 64-bit inode numbers 2006-10-03 08:03:40 -07:00
nfs4state.c [PATCH] Really ignore kmem_cache_destroy return value 2006-09-27 08:26:10 -07:00
nfs4xdr.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00
nfscache.c [PATCH] fs: use list_move() 2006-06-26 09:58:18 -07:00
nfsctl.c [PATCH] knfsd: Fixed handling of lockd fail when adding nfsd socket 2006-10-04 07:55:15 -07:00
nfsfh.c [PATCH] knfsd: Fix stale file handle problem with subtree_checking. 2006-07-31 13:28:37 -07:00
nfsproc.c [PATCH] knfsd: nfsd: lockdep annotation fix 2006-10-04 07:55:15 -07:00
nfssvc.c [PATCH] knfsd: allow admin to set nthreads per node 2006-10-02 07:57:20 -07:00
nfsxdr.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c [PATCH] knfsd: Replace two page lists in struct svc_rqst with one 2006-10-04 07:55:15 -07:00