summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiu Bo <bo.li.liu@oracle.com>2012-11-28 10:43:11 (GMT)
committerChris Mason <chris.mason@fusionio.com>2012-12-17 01:46:15 (GMT)
commit755ac67f83e515af55adbfe55134eb7d90839cdb (patch)
tree56edd78dca4d3cbed1e7debc00618c1ded531c0e
parent0ff6fabdb0a862b22df4dd75873578392478e64d (diff)
downloadlinux-755ac67f83e515af55adbfe55134eb7d90839cdb.tar.xz
Btrfs: skip adding an acl attribute if we don't have to
If the acl can be exactly represented in the traditional file mode permission bits, we don't set another acl attribute. Signed-off-by: Liu Bo <bo.li.liu@oracle.com> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
-rw-r--r--fs/btrfs/acl.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index 0c16e3d..e15d2b0 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -121,6 +121,8 @@ static int btrfs_set_acl(struct btrfs_trans_handle *trans,
ret = posix_acl_equiv_mode(acl, &inode->i_mode);
if (ret < 0)
return ret;
+ if (ret == 0)
+ acl = NULL;
}
ret = 0;
break;