summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChengguang Xu <cgxu519@gmx.com>2018-12-10 06:22:38 +0100
committerTheodore Ts'o <tytso@mit.edu>2018-12-10 06:22:38 +0100
commit0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a (patch)
tree58af054e978b15445f40c660864adbd56502b734
parentext4: fix EXT4_IOC_GROUP_ADD ioctl (diff)
downloadlinux-0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a.tar.xz
linux-0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a.zip
ext4: compare old and new mode before setting update_mode flag
If new mode is the same as old mode we don't have to reset inode mode in the rest of the code, so compare old and new mode before setting update_mode flag. Signed-off-by: Chengguang Xu <cgxu519@gmx.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
-rw-r--r--fs/ext4/acl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c
index c1d570ee1d9f..8c7bbf3e566d 100644
--- a/fs/ext4/acl.c
+++ b/fs/ext4/acl.c
@@ -248,7 +248,8 @@ retry:
error = posix_acl_update_mode(inode, &mode, &acl);
if (error)
goto out_stop;
- update_mode = 1;
+ if (mode != inode->i_mode)
+ update_mode = 1;
}
error = __ext4_set_acl(handle, inode, type, acl, 0 /* xattr_flags */);