diff options
Diffstat (limited to 'fs/ext2/acl.c')
-rw-r--r-- | fs/ext2/acl.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index 27695e6f4e46..d6aeb84e90b6 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c | |||
@@ -193,15 +193,11 @@ ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type) | |||
193 | case ACL_TYPE_ACCESS: | 193 | case ACL_TYPE_ACCESS: |
194 | name_index = EXT2_XATTR_INDEX_POSIX_ACL_ACCESS; | 194 | name_index = EXT2_XATTR_INDEX_POSIX_ACL_ACCESS; |
195 | if (acl) { | 195 | if (acl) { |
196 | error = posix_acl_equiv_mode(acl, &inode->i_mode); | 196 | error = posix_acl_update_mode(inode, &inode->i_mode, &acl); |
197 | if (error < 0) | 197 | if (error) |
198 | return error; | 198 | return error; |
199 | else { | 199 | inode->i_ctime = CURRENT_TIME_SEC; |
200 | inode->i_ctime = CURRENT_TIME_SEC; | 200 | mark_inode_dirty(inode); |
201 | mark_inode_dirty(inode); | ||
202 | if (error == 0) | ||
203 | acl = NULL; | ||
204 | } | ||
205 | } | 201 | } |
206 | break; | 202 | break; |
207 | 203 | ||