diff options
author | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:49:58 -0500 |
---|---|---|
committer | Nick Piggin <npiggin@kernel.dk> | 2011-01-07 01:50:29 -0500 |
commit | b74c79e99389cd79b31fcc08f82c24e492e63c7e (patch) | |
tree | 763c6b412517306670bc625e90035f2d16bb739f /fs/ocfs2/acl.c | |
parent | 34286d6662308d82aed891852d04c7c3a2649b16 (diff) |
fs: provide rcu-walk aware permission i_ops
Signed-off-by: Nick Piggin <npiggin@kernel.dk>
Diffstat (limited to 'fs/ocfs2/acl.c')
-rw-r--r-- | fs/ocfs2/acl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fs/ocfs2/acl.c b/fs/ocfs2/acl.c index 391915093fe1..704f6b1742f3 100644 --- a/fs/ocfs2/acl.c +++ b/fs/ocfs2/acl.c | |||
@@ -291,13 +291,17 @@ static int ocfs2_set_acl(handle_t *handle, | |||
291 | return ret; | 291 | return ret; |
292 | } | 292 | } |
293 | 293 | ||
294 | int ocfs2_check_acl(struct inode *inode, int mask) | 294 | int ocfs2_check_acl(struct inode *inode, int mask, unsigned int flags) |
295 | { | 295 | { |
296 | struct ocfs2_super *osb = OCFS2_SB(inode->i_sb); | 296 | struct ocfs2_super *osb; |
297 | struct buffer_head *di_bh = NULL; | 297 | struct buffer_head *di_bh = NULL; |
298 | struct posix_acl *acl; | 298 | struct posix_acl *acl; |
299 | int ret = -EAGAIN; | 299 | int ret = -EAGAIN; |
300 | 300 | ||
301 | if (flags & IPERM_FLAG_RCU) | ||
302 | return -ECHILD; | ||
303 | |||
304 | osb = OCFS2_SB(inode->i_sb); | ||
301 | if (!(osb->s_mount_opt & OCFS2_MOUNT_POSIX_ACL)) | 305 | if (!(osb->s_mount_opt & OCFS2_MOUNT_POSIX_ACL)) |
302 | return ret; | 306 | return ret; |
303 | 307 | ||