aboutsummaryrefslogtreecommitdiffstats
path: root/fs/generic_acl.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2011-07-23 11:37:31 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2011-07-25 14:30:23 -0400
commit4e34e719e457f2e031297175410fc0bd4016a085 (patch)
treeab969a371e0d2efc6bfbf503ca6cdfce3af3bf6c /fs/generic_acl.c
parentedde854e8bb34a7f32fa993d721f1da0faf64165 (diff)
fs: take the ACL checks to common code
Replace the ->check_acl method with a ->get_acl method that simply reads an ACL from disk after having a cache miss. This means we can replace the ACL checking boilerplate code with a single implementation in namei.c. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/generic_acl.c')
-rw-r--r--fs/generic_acl.c14
1 files changed, 0 insertions, 14 deletions
diff --git a/fs/generic_acl.c b/fs/generic_acl.c
index ea19ca47d452..d5e33a077a67 100644
--- a/fs/generic_acl.c
+++ b/fs/generic_acl.c
@@ -172,20 +172,6 @@ generic_acl_chmod(struct inode *inode)
172 return error; 172 return error;
173} 173}
174 174
175int
176generic_check_acl(struct inode *inode, int mask)
177{
178 struct posix_acl *acl;
179
180 acl = get_cached_acl(inode, ACL_TYPE_ACCESS);
181 if (acl) {
182 int error = posix_acl_permission(inode, acl, mask);
183 posix_acl_release(acl);
184 return error;
185 }
186 return -EAGAIN;
187}
188
189const struct xattr_handler generic_acl_access_handler = { 175const struct xattr_handler generic_acl_access_handler = {
190 .prefix = POSIX_ACL_XATTR_ACCESS, 176 .prefix = POSIX_ACL_XATTR_ACCESS,
191 .flags = ACL_TYPE_ACCESS, 177 .flags = ACL_TYPE_ACCESS,