On Mar 29, 2014, at 15:34, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > On Sat, Mar 29, 2014 at 02:43:39PM -0400, Trond Myklebust wrote: >> RFC5661 obsoletes NFS4ERR_RESTOREFH in favour of NFS4ERR_NOFILEHANDLE. > > Looks right. Any objection to just making this nfserr_restorefh in the > 4.0 case as well? Hard to imagine how that could cause a 4.0 client any > problem. You mean make both cases return nfserr_nofilehandle (as per RFC5661), right? So, I agree that most clients should handle that, but the problem is that RFC3530bis does not allow it. > > --b. > >> >> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> >> --- >> fs/nfsd/nfs4proc.c | 5 ++++- >> 1 file changed, 4 insertions(+), 1 deletion(-) >> >> diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c >> index 82189b208af3..eeee4418d44a 100644 >> --- a/fs/nfsd/nfs4proc.c >> +++ b/fs/nfsd/nfs4proc.c >> @@ -536,8 +536,11 @@ static __be32 >> nfsd4_restorefh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, >> void *arg) >> { >> - if (!cstate->save_fh.fh_dentry) >> + if (!cstate->save_fh.fh_dentry) { >> + if (nfsd4_has_session(cstate)) >> + return nfserr_nofilehandle; >> return nfserr_restorefh; >> + } >> >> fh_dup2(&cstate->current_fh, &cstate->save_fh); >> if (HAS_STATE_ID(cstate, SAVED_STATE_ID_FLAG)) { >> -- >> 1.9.0 >> _________________________________ Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@xxxxxxxxxxxxxxx -- 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