]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
NFSD: don't report compiled-out versions as present
authorPavel Emelyanov <xemul@openvz.org>
Fri, 14 May 2010 11:33:36 +0000 (15:33 +0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:08:41 +0000 (11:08 -0700)
commit 15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2 upstream.

The /proc/fs/nfsd/versions file calls nfsd_vers() to check whether
the particular nfsd version is present/available. The problem is
that once I turn off e.g. NFSD-V4 this call returns -1 which is
true from the callers POV which is wrong.

The proposal is to report false in that case.

The bug has existed since 6658d3a7bbfd1768 "[PATCH] knfsd: remove
nfsd_versbits as intermediate storage for desired versions".

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: NeilBrown <neilb@suse.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
fs/nfsd/nfssvc.c

index 80292ff5e924a15ff0130866878cf7669cfd041f..e02db8e44f4ed38558e1bf72ddfd16dcf31f0467 100644 (file)
@@ -126,7 +126,7 @@ struct svc_program          nfsd_program = {
 int nfsd_vers(int vers, enum vers_op change)
 {
        if (vers < NFSD_MINVERS || vers >= NFSD_NRVERS)
-               return -1;
+               return 0;
        switch(change) {
        case NFSD_SET:
                nfsd_versions[vers] = nfsd_version[vers];