[PATCH 11/16] nfsd4: return nfserr_wrongsec

J. Bruce Fields bfields at fieldses.org
Fri May 18 18:58:49 EDT 2007


On Fri, May 18, 2007 at 06:33:23PM -0400, Trond Myklebust wrote:
> On Fri, 2007-05-18 at 18:28 -0400, J. Bruce Fields wrote:
> > > On Fri, 2007-05-18 at 17:28 -0400, J. Bruce Fields wrote:
> > > > --- a/fs/nfsd/nfssvc.c
> > > > +++ b/fs/nfsd/nfssvc.c
> > > > @@ -492,6 +492,15 @@ out:
> > > >  	module_put_and_exit(0);
> > > >  }
> > > >  
> > > > +static __be32 map_new_errors(u32 vers, __be32 nfserr)
> > > > +{
> > > > +	if (nfserr == nfserr_jukebox && vers == 2)
> > > > +		return nfserr_dropit;
> > > > +	if (nfserr == nfserr_wrongsec && vers < 4)
> > > > +		return nfserr_perm;
> > > > +	return nfserr;
> > > > +}
> > 
> > Does that look sane?
> 
> OK, but shouldn't it be mapped into EACCES? EPERM means that an
> operation failed because the caller is "either not a privileged user
> (root) or the owner of the target of the operation".

Yup, fixed.  I always have trouble getting those two straight.

--b.


More information about the NFSv4 mailing list