NFSD: Cleanup for nfsd4_path()
The current code is sort of hackish in that it assumes a referral is always matched to an export. When we add support for junctions that may not be the case. We can replace nfsd4_path() with a function that encodes the components directly from the dentries. Since nfsd4_path is currently the only user of the 'ex_pathname' field in struct svc_export, this has the added benefit of allowing us to get rid of that. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Reviewed-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
committed by
J. Bruce Fields
parent
ee626a77d3
commit
ed748aacb8
@@ -1009,7 +1009,7 @@ rqst_exp_parent(struct svc_rqst *rqstp, struct path *path)
|
||||
return exp;
|
||||
}
|
||||
|
||||
static struct svc_export *find_fsidzero_export(struct svc_rqst *rqstp)
|
||||
struct svc_export *rqst_find_fsidzero_export(struct svc_rqst *rqstp)
|
||||
{
|
||||
u32 fsidv[2];
|
||||
|
||||
@@ -1029,7 +1029,7 @@ exp_pseudoroot(struct svc_rqst *rqstp, struct svc_fh *fhp)
|
||||
struct svc_export *exp;
|
||||
__be32 rv;
|
||||
|
||||
exp = find_fsidzero_export(rqstp);
|
||||
exp = rqst_find_fsidzero_export(rqstp);
|
||||
if (IS_ERR(exp))
|
||||
return nfserrno(PTR_ERR(exp));
|
||||
rv = fh_compose(fhp, exp, exp->ex_path.dentry, NULL);
|
||||
|
Reference in New Issue
Block a user