aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/jfs/acl.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/fs/jfs/acl.c b/fs/jfs/acl.c
index 5a8ea16eedbc..0c8ca830b113 100644
--- a/fs/jfs/acl.c
+++ b/fs/jfs/acl.c
@@ -83,13 +83,15 @@ static int __jfs_set_acl(tid_t tid, struct inode *inode, int type,
83 switch (type) { 83 switch (type) {
84 case ACL_TYPE_ACCESS: 84 case ACL_TYPE_ACCESS:
85 ea_name = POSIX_ACL_XATTR_ACCESS; 85 ea_name = POSIX_ACL_XATTR_ACCESS;
86 rc = posix_acl_equiv_mode(acl, &inode->i_mode); 86 if (acl) {
87 if (rc < 0) 87 rc = posix_acl_equiv_mode(acl, &inode->i_mode);
88 return rc; 88 if (rc < 0)
89 inode->i_ctime = CURRENT_TIME; 89 return rc;
90 mark_inode_dirty(inode); 90 inode->i_ctime = CURRENT_TIME;
91 if (rc == 0) 91 mark_inode_dirty(inode);
92 acl = NULL; 92 if (rc == 0)
93 acl = NULL;
94 }
93 break; 95 break;
94 case ACL_TYPE_DEFAULT: 96 case ACL_TYPE_DEFAULT:
95 ea_name = POSIX_ACL_XATTR_DEFAULT; 97 ea_name = POSIX_ACL_XATTR_DEFAULT;