OSDN Git Service

ext4: compare old and new mode before setting update_mode flag
authorChengguang Xu <cgxu519@gmx.com>
Mon, 10 Dec 2018 05:22:38 +0000 (00:22 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 10 Dec 2018 05:22:38 +0000 (00:22 -0500)
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>
fs/ext4/acl.c

index c1d570e..8c7bbf3 100644 (file)
@@ -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 */);