Re: [PATCH 08/14] nfsd4: fail when delegreturn gets a non-delegation stateid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Mar 11, 2009 at 09:52:22AM +0800, Yang Hongyang wrote:
> J. Bruce Fields wrote:
> > From: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>
> > 
> > Previous cleanup reveals an obvious (though harmless) bug: when
> > delegreturn gets a stateid that isn't for a delegation, it should return
> > an error rather than doing nothing.
> > 
> > Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxxxxxx>
> > ---
> >  fs/nfsd/nfs4state.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
> > index de1d68a..4a92d1e 100644
> > --- a/fs/nfsd/nfs4state.c
> > +++ b/fs/nfsd/nfs4state.c
> > @@ -2418,7 +2418,7 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
> >  	status = nfserr_stale_stateid;
> >  	if (STALE_STATEID(stateid)) 
> >  		goto out;
> > -	status = nfs_ok;
> > +	status = nfserr_bad_stateid;
> 
> this should be done in patch 7?
> 
> >  	if (is_delegation_stateid(stateid))
> >  		goto out;
> 
> confused!
> if (is_delegation_stateid(stateid)) means a stateid is for a delegation right?
> Are we prefered if (!(is_delegation_stateid(stateid)))?

Ugh, yes, thanks for spotting that.  I need to take another look.  (And
also figure out why pynfs didn't catch this--ok, turns out I need to
explicitly ask for "delegations" on the ./testserver commandline--this
isn't included in the standard tests.  Oops.)

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux