aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfsd/vfs.c12
-rw-r--r--include/linux/nfsd/export.h12
2 files changed, 12 insertions, 12 deletions
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c
index 5c97d0ea9e22..f2684e57cf22 100644
--- a/fs/nfsd/vfs.c
+++ b/fs/nfsd/vfs.c
@@ -1797,6 +1797,18 @@ nfsd_statfs(struct svc_rqst *rqstp, struct svc_fh *fhp, struct kstatfs *stat)
1797 return err; 1797 return err;
1798} 1798}
1799 1799
1800static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
1801{
1802 struct exp_flavor_info *f;
1803 struct exp_flavor_info *end = exp->ex_flavors + exp->ex_nflavors;
1804
1805 for (f = exp->ex_flavors; f < end; f++) {
1806 if (f->pseudoflavor == rqstp->rq_flavor)
1807 return f->flags & NFSEXP_READONLY;
1808 }
1809 return exp->ex_flags & NFSEXP_READONLY;
1810}
1811
1800/* 1812/*
1801 * Check for a user's access permissions to this inode. 1813 * Check for a user's access permissions to this inode.
1802 */ 1814 */
diff --git a/include/linux/nfsd/export.h b/include/linux/nfsd/export.h
index 78feb7beff75..fb4e93016666 100644
--- a/include/linux/nfsd/export.h
+++ b/include/linux/nfsd/export.h
@@ -116,18 +116,6 @@ struct svc_expkey {
116#define EX_NOHIDE(exp) ((exp)->ex_flags & NFSEXP_NOHIDE) 116#define EX_NOHIDE(exp) ((exp)->ex_flags & NFSEXP_NOHIDE)
117#define EX_WGATHER(exp) ((exp)->ex_flags & NFSEXP_GATHERED_WRITES) 117#define EX_WGATHER(exp) ((exp)->ex_flags & NFSEXP_GATHERED_WRITES)
118 118
119static inline int EX_RDONLY(struct svc_export *exp, struct svc_rqst *rqstp)
120{
121 struct exp_flavor_info *f;
122 struct exp_flavor_info *end = exp->ex_flavors + exp->ex_nflavors;
123
124 for (f = exp->ex_flavors; f < end; f++) {
125 if (f->pseudoflavor == rqstp->rq_flavor)
126 return f->flags & NFSEXP_READONLY;
127 }
128 return exp->ex_flags & NFSEXP_READONLY;
129}
130
131__be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp); 119__be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp);
132 120
133/* 121/*