diff options
Diffstat (limited to 'fs/ext4/acl.c')
-rw-r--r-- | fs/ext4/acl.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c index 69b1e73026a5..c3fe1e323951 100644 --- a/fs/ext4/acl.c +++ b/fs/ext4/acl.c | |||
@@ -196,15 +196,11 @@ __ext4_set_acl(handle_t *handle, struct inode *inode, int type, | |||
196 | case ACL_TYPE_ACCESS: | 196 | case ACL_TYPE_ACCESS: |
197 | name_index = EXT4_XATTR_INDEX_POSIX_ACL_ACCESS; | 197 | name_index = EXT4_XATTR_INDEX_POSIX_ACL_ACCESS; |
198 | if (acl) { | 198 | if (acl) { |
199 | error = posix_acl_equiv_mode(acl, &inode->i_mode); | 199 | error = posix_acl_update_mode(inode, &inode->i_mode, &acl); |
200 | if (error < 0) | 200 | if (error) |
201 | return error; | 201 | return error; |
202 | else { | 202 | inode->i_ctime = ext4_current_time(inode); |
203 | inode->i_ctime = ext4_current_time(inode); | 203 | ext4_mark_inode_dirty(handle, inode); |
204 | ext4_mark_inode_dirty(handle, inode); | ||
205 | if (error == 0) | ||
206 | acl = NULL; | ||
207 | } | ||
208 | } | 204 | } |
209 | break; | 205 | break; |
210 | 206 | ||