]> err.no Git - linux-2.6/commit
[PATCH] knfsd: remove nfsd_versbits as intermediate storage for desired versions
authorNeilBrown <neilb@suse.de>
Mon, 2 Oct 2006 09:17:46 +0000 (02:17 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 2 Oct 2006 14:57:17 +0000 (07:57 -0700)
commit6658d3a7bbfd1768a7b599def47939417f0ee8ef
treefd3ddac035bac92204836de1e11a0078fe54d5b9
parent24e36663c375df577d2dcae437713481ffd6850c
[PATCH] knfsd: remove nfsd_versbits as intermediate storage for desired versions

We have an array 'nfsd_version' which lists the available versions of nfsd,
and 'nfsd_versions' (poor choice there :-() which lists the currently active
versions.

Then we have a bitmap - nfsd_versbits which says which versions are wanted.
The bits in this bitset cause content to be copied from nfsd_version to
nfsd_versions when nfsd starts.

This patch removes nfsd_versbits and moves information directly from
nfsd_version to nfsd_versions when requests for version changes arrive.

Note that this doesn't make it possible to change versions while the server is
running.  This is because serv->sv_xdrsize is calculated when a service is
created, and used when threads are created, and xdrsize depends on the active
versions.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfsd/nfsctl.c
fs/nfsd/nfssvc.c
include/linux/nfsd/nfsd.h
include/linux/nfsd/syscall.h