summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorChengguang Xu <cgxu519@gmx.com>2018-12-10 00:22:38 -0500
committerTheodore Ts'o <tytso@mit.edu>2018-12-10 00:22:38 -0500
commit0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a (patch)
tree58af054e978b15445f40c660864adbd56502b734 /fs
parente647e29196b7f802f8242c39ecb7cc937f5ef217 (diff)
downloadlinux-stable-0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a.tar.gz
linux-stable-0a1e8258a4fecd5aad2815b43bbe0ff014de1d8a.tar.bz2
linux-stable-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>
Diffstat (limited to 'fs')
-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 */);