Commit 0ff7ab46 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: move guts of nfsd4_lookupp into helper

We'll reuse this code in secinfo_no_name.
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 56560b9a
...@@ -604,9 +604,7 @@ nfsd4_link(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -604,9 +604,7 @@ nfsd4_link(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
return status; return status;
} }
static __be32 static __be32 nfsd4_do_lookupp(struct svc_rqst *rqstp, struct svc_fh *fh)
nfsd4_lookupp(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
void *arg)
{ {
struct svc_fh tmp_fh; struct svc_fh tmp_fh;
__be32 ret; __be32 ret;
...@@ -615,13 +613,19 @@ nfsd4_lookupp(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -615,13 +613,19 @@ nfsd4_lookupp(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
ret = exp_pseudoroot(rqstp, &tmp_fh); ret = exp_pseudoroot(rqstp, &tmp_fh);
if (ret) if (ret)
return ret; return ret;
if (tmp_fh.fh_dentry == cstate->current_fh.fh_dentry) { if (tmp_fh.fh_dentry == fh->fh_dentry) {
fh_put(&tmp_fh); fh_put(&tmp_fh);
return nfserr_noent; return nfserr_noent;
} }
fh_put(&tmp_fh); fh_put(&tmp_fh);
return nfsd_lookup(rqstp, &cstate->current_fh, return nfsd_lookup(rqstp, fh, "..", 2, fh);
"..", 2, &cstate->current_fh); }
static __be32
nfsd4_lookupp(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
void *arg)
{
return nfsd4_do_lookupp(rqstp, &cstate->current_fh);
} }
static __be32 static __be32
......
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