• Home
  • Raw
  • Download

Lines Matching refs:exp

28 	struct svc_export *exp = expv;  in nfsd_acceptable()  local
33 if (exp->ex_flags & NFSEXP_NOSUBTREECHECK) in nfsd_acceptable()
37 while (tdentry != exp->ex_path.dentry && !IS_ROOT(tdentry)) { in nfsd_acceptable()
49 if (tdentry != exp->ex_path.dentry) in nfsd_acceptable()
51 rv = (tdentry == exp->ex_path.dentry); in nfsd_acceptable()
84 struct svc_export *exp) in nfsd_setuser_and_check_port() argument
86 int flags = nfsexp_flags(rqstp, exp); in nfsd_setuser_and_check_port()
97 return nfserrno(nfsd_setuser(rqstp, exp)); in nfsd_setuser_and_check_port()
101 struct dentry *dentry, struct svc_export *exp) in check_pseudo_root() argument
103 if (!(exp->ex_flags & NFSEXP_V4ROOT)) in check_pseudo_root()
125 if (unlikely(dentry != exp->ex_path.dentry)) in check_pseudo_root()
139 struct svc_export *exp; in nfsd_set_fh_dentry() local
178 exp = rqst_exp_find(rqstp, fh->fh_fsid_type, fh->fh_fsid); in nfsd_set_fh_dentry()
191 exp = rqst_exp_find(rqstp, FSID_DEV, tfh); in nfsd_set_fh_dentry()
195 if (PTR_ERR(exp) == -ENOENT) in nfsd_set_fh_dentry()
198 if (IS_ERR(exp)) in nfsd_set_fh_dentry()
199 return nfserrno(PTR_ERR(exp)); in nfsd_set_fh_dentry()
201 if (exp->ex_flags & NFSEXP_NOSUBTREECHECK) { in nfsd_set_fh_dentry()
222 error = nfsd_setuser_and_check_port(rqstp, exp); in nfsd_set_fh_dentry()
248 dentry = dget(exp->ex_path.dentry); in nfsd_set_fh_dentry()
250 dentry = exportfs_decode_fh(exp->ex_path.mnt, fid, in nfsd_set_fh_dentry()
252 nfsd_acceptable, exp); in nfsd_set_fh_dentry()
269 fhp->fh_export = exp; in nfsd_set_fh_dentry()
272 exp_put(exp); in nfsd_set_fh_dentry()
306 struct svc_export *exp; in fh_verify() local
318 exp = fhp->fh_export; in fh_verify()
335 error = check_pseudo_root(rqstp, dentry, exp); in fh_verify()
339 error = nfsd_setuser_and_check_port(rqstp, exp); in fh_verify()
360 && exp->ex_path.dentry == dentry) in fh_verify()
363 error = check_nfsd_access(exp, rqstp); in fh_verify()
369 error = nfsd_permission(rqstp, exp, dentry, access); in fh_verify()
391 static void _fh_update(struct svc_fh *fhp, struct svc_export *exp, in _fh_update() argument
394 if (dentry != exp->ex_path.dentry) { in _fh_update()
398 int subtreecheck = !(exp->ex_flags & NFSEXP_NOSUBTREECHECK); in _fh_update()
412 struct svc_export *exp, in _fh_update_old() argument
418 (exp->ex_flags & NFSEXP_NOSUBTREECHECK)) in _fh_update_old()
422 static bool is_root_export(struct svc_export *exp) in is_root_export() argument
424 return exp->ex_path.dentry == exp->ex_path.dentry->d_sb->s_root; in is_root_export()
427 static struct super_block *exp_sb(struct svc_export *exp) in exp_sb() argument
429 return d_inode(exp->ex_path.dentry)->i_sb; in exp_sb()
432 static bool fsid_type_ok_for_exp(u8 fsid_type, struct svc_export *exp) in fsid_type_ok_for_exp() argument
436 if (!old_valid_dev(exp_sb(exp)->s_dev)) in fsid_type_ok_for_exp()
441 return exp_sb(exp)->s_type->fs_flags & FS_REQUIRES_DEV; in fsid_type_ok_for_exp()
443 return exp->ex_flags & NFSEXP_FSID; in fsid_type_ok_for_exp()
446 if (!is_root_export(exp)) in fsid_type_ok_for_exp()
451 return exp->ex_uuid != NULL; in fsid_type_ok_for_exp()
457 static void set_version_and_fsid_type(struct svc_fh *fhp, struct svc_export *exp, struct svc_fh *re… in set_version_and_fsid_type() argument
463 if (ref_fh && ref_fh->fh_export == exp) { in set_version_and_fsid_type()
485 if (!fsid_type_ok_for_exp(fsid_type, exp)) in set_version_and_fsid_type()
487 } else if (exp->ex_flags & NFSEXP_FSID) { in set_version_and_fsid_type()
489 } else if (exp->ex_uuid) { in set_version_and_fsid_type()
491 if (is_root_export(exp)) in set_version_and_fsid_type()
496 if (is_root_export(exp)) in set_version_and_fsid_type()
501 } else if (!old_valid_dev(exp_sb(exp)->s_dev)) in set_version_and_fsid_type()
512 fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry, in fh_compose() argument
524 dev_t ex_dev = exp_sb(exp)->s_dev; in fh_compose()
528 (long) d_inode(exp->ex_path.dentry)->i_ino, in fh_compose()
536 set_version_and_fsid_type(fhp, exp, ref_fh); in fh_compose()
551 fhp->fh_export = exp_get(exp); in fh_compose()
561 ino_t_to_u32(d_inode(exp->ex_path.dentry)->i_ino); in fh_compose()
564 _fh_update_old(dentry, exp, &fhp->fh_handle); in fh_compose()
573 d_inode(exp->ex_path.dentry)->i_ino, in fh_compose()
574 exp->ex_fsid, exp->ex_uuid); in fh_compose()
577 _fh_update(fhp, exp, dentry); in fh_compose()
629 struct svc_export * exp = fhp->fh_export; in fh_put() local
637 if (exp) { in fh_put()
638 exp_put(exp); in fh_put()