aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-10-08 11:06:08 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2016-10-08 11:06:08 -0400
commite55f1d1d13e7f1c364672d667d78fd1f640ab9f9 (patch)
tree406a3c127abb008f2f736c8d2ee03fc3c2926d6b /fs/ext4
parentf334bcd94b7d3c0fbc34d518a86548f451ab5faf (diff)
parent030b533c4fd4d2ec3402363323de4bb2983c9cee (diff)
Merge remote-tracking branch 'jk/vfs' into work.misc
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/acl.c12
-rw-r--r--fs/ext4/inode.c2
2 files changed, 5 insertions, 9 deletions
diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c
index c6601a476c02..dfa519979038 100644
--- a/fs/ext4/acl.c
+++ b/fs/ext4/acl.c
@@ -193,15 +193,11 @@ __ext4_set_acl(handle_t *handle, struct inode *inode, int type,
193 case ACL_TYPE_ACCESS: 193 case ACL_TYPE_ACCESS:
194 name_index = EXT4_XATTR_INDEX_POSIX_ACL_ACCESS; 194 name_index = EXT4_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 = ext4_current_time(inode);
200 inode->i_ctime = ext4_current_time(inode); 200 ext4_mark_inode_dirty(handle, inode);
201 ext4_mark_inode_dirty(handle, inode);
202 if (error == 0)
203 acl = NULL;
204 }
205 } 201 }
206 break; 202 break;
207 203
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index c6ea25a190f8..b27491e885c4 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -5073,7 +5073,7 @@ int ext4_setattr(struct dentry *dentry, struct iattr *attr)
5073 int orphan = 0; 5073 int orphan = 0;
5074 const unsigned int ia_valid = attr->ia_valid; 5074 const unsigned int ia_valid = attr->ia_valid;
5075 5075
5076 error = inode_change_ok(inode, attr); 5076 error = setattr_prepare(dentry, attr);
5077 if (error) 5077 if (error)
5078 return error; 5078 return error;
5079 5079