From 7621816e8d9a9efa71d322b36bb6a28ab1aa9cd8 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Wed, 24 Jun 2009 17:02:42 -0400 Subject: [PATCH] --- yaml --- r: 154298 b: refs/heads/master c: d5bb68adda7cc179e8efadeaa3a283cb470f13a6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/jfs/acl.c | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index d7f7f7a47e82..5ee5628a2fcf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 72c04902d1e27c8a324014cff1d4475c11b1cecd +refs/heads/master: d5bb68adda7cc179e8efadeaa3a283cb470f13a6 diff --git a/trunk/fs/jfs/acl.c b/trunk/fs/jfs/acl.c index f272bf032e1e..91fa3ad6e8c2 100644 --- a/trunk/fs/jfs/acl.c +++ b/trunk/fs/jfs/acl.c @@ -118,15 +118,16 @@ static int jfs_set_acl(tid_t tid, struct inode *inode, int type, static int jfs_check_acl(struct inode *inode, int mask) { - if (inode->i_acl == ACL_NOT_CACHED) { - struct posix_acl *acl = jfs_get_acl(inode, ACL_TYPE_ACCESS); - if (IS_ERR(acl)) - return PTR_ERR(acl); + struct posix_acl *acl = jfs_get_acl(inode, ACL_TYPE_ACCESS); + + if (IS_ERR(acl)) + return PTR_ERR(acl); + if (acl) { + int error = posix_acl_permission(inode, acl, mask); posix_acl_release(acl); + return error; } - if (inode->i_acl) - return posix_acl_permission(inode, inode->i_acl, mask); return -EAGAIN; }