Commit 1a8eff6d authored by NeilBrown's avatar NeilBrown Committed by Linus Torvalds

[PATCH] knfsd: fix setting of ACL server versions

Due to silly typos, if the nfs versions are explicitly set, no NFSACL versions
get enabled.

Also improve an error message that would have made this bug a little easier to
find.
Signed-off-by: default avatarNeil Brown <neilb@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 98fac23f
...@@ -72,7 +72,7 @@ static struct svc_program nfsd_acl_program = { ...@@ -72,7 +72,7 @@ static struct svc_program nfsd_acl_program = {
.pg_prog = NFS_ACL_PROGRAM, .pg_prog = NFS_ACL_PROGRAM,
.pg_nvers = NFSD_ACL_NRVERS, .pg_nvers = NFSD_ACL_NRVERS,
.pg_vers = nfsd_acl_versions, .pg_vers = nfsd_acl_versions,
.pg_name = "nfsd", .pg_name = "nfsacl",
.pg_class = "nfsd", .pg_class = "nfsd",
.pg_stats = &nfsd_acl_svcstats, .pg_stats = &nfsd_acl_svcstats,
.pg_authenticate = &svc_set_client, .pg_authenticate = &svc_set_client,
...@@ -118,16 +118,16 @@ int nfsd_vers(int vers, enum vers_op change) ...@@ -118,16 +118,16 @@ int nfsd_vers(int vers, enum vers_op change)
switch(change) { switch(change) {
case NFSD_SET: case NFSD_SET:
nfsd_versions[vers] = nfsd_version[vers]; nfsd_versions[vers] = nfsd_version[vers];
break;
#if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL)
if (vers < NFSD_ACL_NRVERS) if (vers < NFSD_ACL_NRVERS)
nfsd_acl_version[vers] = nfsd_acl_version[vers]; nfsd_acl_versions[vers] = nfsd_acl_version[vers];
#endif #endif
break;
case NFSD_CLEAR: case NFSD_CLEAR:
nfsd_versions[vers] = NULL; nfsd_versions[vers] = NULL;
#if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL) #if defined(CONFIG_NFSD_V2_ACL) || defined(CONFIG_NFSD_V3_ACL)
if (vers < NFSD_ACL_NRVERS) if (vers < NFSD_ACL_NRVERS)
nfsd_acl_version[vers] = NULL; nfsd_acl_versions[vers] = NULL;
#endif #endif
break; break;
case NFSD_TEST: case NFSD_TEST:
......
...@@ -910,7 +910,8 @@ svc_process(struct svc_rqst *rqstp) ...@@ -910,7 +910,8 @@ svc_process(struct svc_rqst *rqstp)
err_bad_vers: err_bad_vers:
#ifdef RPC_PARANOIA #ifdef RPC_PARANOIA
printk("svc: unknown version (%d)\n", vers); printk("svc: unknown version (%d for prog %d, %s)\n",
vers, prog, progp->pg_name);
#endif #endif
serv->sv_stats->rpcbadfmt++; serv->sv_stats->rpcbadfmt++;
svc_putnl(resv, RPC_PROG_MISMATCH); svc_putnl(resv, RPC_PROG_MISMATCH);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment