2010-05-14 11:33:55

by Pavel Emelyanov

[permalink] [raw]
Subject: [PATCH] NFSD: don't report compiled-out versions as present

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.

Patch is against git://linux-nfs.org/~bfields/linux:master

Signed-off-by: Pavel Emelyanov <[email protected]>

---

diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 171699e..06b2a26 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -120,7 +120,7 @@ u32 nfsd_supported_minorversion;
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];


2010-05-14 19:03:41

by J.Bruce Fields

[permalink] [raw]
Subject: Re: [PATCH] NFSD: don't report compiled-out versions as present

On Fri, May 14, 2010 at 03:33:36PM +0400, Pavel Emelyanov wrote:
> 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.
>
> Patch is against git://linux-nfs.org/~bfields/linux:master

Thanks, applying for 2.6.35 and -stable; looks like this exists since
6658d3a7bbfd1768a7b599def47939417f0ee8ef?

--b.

>
> Signed-off-by: Pavel Emelyanov <[email protected]>
>
> ---
>
> diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
> index 171699e..06b2a26 100644
> --- a/fs/nfsd/nfssvc.c
> +++ b/fs/nfsd/nfssvc.c
> @@ -120,7 +120,7 @@ u32 nfsd_supported_minorversion;
> 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];
>

2010-05-14 22:14:14

by NeilBrown

[permalink] [raw]
Subject: Re: [PATCH] NFSD: don't report compiled-out versions as present

On Fri, 14 May 2010 15:03:40 -0400
"J. Bruce Fields" <[email protected]> wrote:

> On Fri, May 14, 2010 at 03:33:36PM +0400, Pavel Emelyanov wrote:
> > 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.
> >
> > Patch is against git://linux-nfs.org/~bfields/linux:master
>
> Thanks, applying for 2.6.35 and -stable; looks like this exists since
> 6658d3a7bbfd1768a7b599def47939417f0ee8ef?

Ouch-yes :-(
Acked-by: NeilBrown <[email protected]>

NeilBrown

>
> --b.
>
> >
> > Signed-off-by: Pavel Emelyanov <[email protected]>
> >
> > ---
> >
> > diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
> > index 171699e..06b2a26 100644
> > --- a/fs/nfsd/nfssvc.c
> > +++ b/fs/nfsd/nfssvc.c
> > @@ -120,7 +120,7 @@ u32 nfsd_supported_minorversion;
> > 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];
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html