aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/export.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd/export.c')
-rw-r--r--fs/nfsd/export.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c
index 9b569af695ab..ac225a79376c 100644
--- a/fs/nfsd/export.c
+++ b/fs/nfsd/export.c
@@ -1237,21 +1237,28 @@ struct svc_export *
1237rqst_exp_get_by_name(struct svc_rqst *rqstp, struct vfsmount *mnt, 1237rqst_exp_get_by_name(struct svc_rqst *rqstp, struct vfsmount *mnt,
1238 struct dentry *dentry) 1238 struct dentry *dentry)
1239{ 1239{
1240 return exp_get_by_name(rqstp->rq_client, mnt, dentry, 1240 struct auth_domain *clp;
1241 &rqstp->rq_chandle); 1241
1242 clp = rqstp->rq_gssclient ? rqstp->rq_gssclient : rqstp->rq_client;
1243 return exp_get_by_name(clp, mnt, dentry, &rqstp->rq_chandle);
1242} 1244}
1243 1245
1244struct svc_export * 1246struct svc_export *
1245rqst_exp_find(struct svc_rqst *rqstp, int fsid_type, u32 *fsidv) 1247rqst_exp_find(struct svc_rqst *rqstp, int fsid_type, u32 *fsidv)
1246{ 1248{
1247 return exp_find(rqstp->rq_client, fsid_type, fsidv, 1249 struct auth_domain *clp;
1248 &rqstp->rq_chandle); 1250
1251 clp = rqstp->rq_gssclient ? rqstp->rq_gssclient : rqstp->rq_client;
1252 return exp_find(clp, fsid_type, fsidv, &rqstp->rq_chandle);
1249} 1253}
1250 1254
1251struct svc_export * 1255struct svc_export *
1252rqst_exp_parent(struct svc_rqst *rqstp, struct vfsmount *mnt, 1256rqst_exp_parent(struct svc_rqst *rqstp, struct vfsmount *mnt,
1253 struct dentry *dentry) 1257 struct dentry *dentry)
1254{ 1258{
1259 struct auth_domain *clp;
1260
1261 clp = rqstp->rq_gssclient ? rqstp->rq_gssclient : rqstp->rq_client;
1255 return exp_parent(rqstp->rq_client, mnt, dentry, &rqstp->rq_chandle); 1262 return exp_parent(rqstp->rq_client, mnt, dentry, &rqstp->rq_chandle);
1256} 1263}
1257 1264