]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/ocfs2/acl.c
Merge remote-tracking branches 'regmap/fix/header' and 'regmap/fix/macro' into regmap...
[karo-tx-linux.git] / fs / ocfs2 / acl.c
index 2162434728c022ab4651904b778c21d958ca802d..bed1fcb630888746d28ba17e6ed3c0fdb6b2aa31 100644 (file)
@@ -201,7 +201,7 @@ static int ocfs2_acl_set_mode(struct inode *inode, struct buffer_head *di_bh,
        }
 
        inode->i_mode = new_mode;
-       inode->i_ctime = CURRENT_TIME;
+       inode->i_ctime = current_time(inode);
        di->i_mode = cpu_to_le16(inode->i_mode);
        di->i_ctime = cpu_to_le64(inode->i_ctime.tv_sec);
        di->i_ctime_nsec = cpu_to_le32(inode->i_ctime.tv_nsec);
@@ -241,13 +241,11 @@ int ocfs2_set_acl(handle_t *handle,
        case ACL_TYPE_ACCESS:
                name_index = OCFS2_XATTR_INDEX_POSIX_ACL_ACCESS;
                if (acl) {
-                       umode_t mode = inode->i_mode;
-                       ret = posix_acl_equiv_mode(acl, &mode);
-                       if (ret < 0)
-                               return ret;
+                       umode_t mode;
 
-                       if (ret == 0)
-                               acl = NULL;
+                       ret = posix_acl_update_mode(inode, &mode, &acl);
+                       if (ret)
+                               return ret;
 
                        ret = ocfs2_acl_set_mode(inode, di_bh,
                                                 handle, mode);