| From 15ddb4aec54422ead137b03ea4e9b3f5db3f7cc2 Mon Sep 17 00:00:00 2001 |
| From: Pavel Emelyanov <xemul@openvz.org> |
| Date: Fri, 14 May 2010 15:33:36 +0400 |
| Subject: NFSD: don't report compiled-out versions as present |
| |
| From: Pavel Emelyanov <xemul@openvz.org> |
| |
| 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 | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/fs/nfsd/nfssvc.c |
| +++ b/fs/nfsd/nfssvc.c |
| @@ -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]; |