aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nfsd/export.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/nfsd/export.h')
-rw-r--r--include/linux/nfsd/export.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h
index 424be41130ba..a01f775cb944 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -112,10 +112,21 @@ struct svc_expkey {
112 112
113#define EX_SECURE(exp) (!((exp)->ex_flags & NFSEXP_INSECURE_PORT)) 113#define EX_SECURE(exp) (!((exp)->ex_flags & NFSEXP_INSECURE_PORT))
114#define EX_ISSYNC(exp) (!((exp)->ex_flags & NFSEXP_ASYNC)) 114#define EX_ISSYNC(exp) (!((exp)->ex_flags & NFSEXP_ASYNC))
115#define EX_RDONLY(exp) ((exp)->ex_flags & NFSEXP_READONLY)
116#define EX_NOHIDE(exp) ((exp)->ex_flags & NFSEXP_NOHIDE) 115#define EX_NOHIDE(exp) ((exp)->ex_flags & NFSEXP_NOHIDE)
117#define EX_WGATHER(exp) ((exp)->ex_flags & NFSEXP_GATHERED_WRITES) 116#define EX_WGATHER(exp) ((exp)->ex_flags & NFSEXP_GATHERED_WRITES)
118 117
118static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
119{
120 struct exp_flavor_info *f;
121 struct exp_flavor_info *end = exp->ex_flavors + exp->ex_nflavors;
122
123 for (f = exp->ex_flavors; f < end; f++) {
124 if (f->pseudoflavor == rqstp->rq_flavor)
125 return f->flags & NFSEXP_READONLY;
126 }
127 return exp->ex_flags & NFSEXP_READONLY;
128}
129
119__be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp); 130__be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp);
120 131
121/* 132/*