summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2012-04-23 17:55:30 (GMT)
committerJosef Bacik <josef@redhat.com>2012-05-30 14:23:27 (GMT)
commit30f8fe3e47c5bb5715aa80b2a2fa0cab8b218fae (patch)
tree127c63efa5d8676e9915124654e42dda27276847
parent0c4d2d95d06e920e0c61707e62c7fffc9c57f63a (diff)
downloadlinux-fsl-qoriq-30f8fe3e47c5bb5715aa80b2a2fa0cab8b218fae.tar.xz
Btrfs: cache no acl on new inodes
When running compilebench I noticed we were spending some time looking up acls on new inodes, which shouldn't be happening since there were no acls. This is because when we init acls on the inode after creating them we don't cache the fact there are no acls if there aren't any. Doing this adds a little bit of a bump to my compilebench runs. Thanks, Btrfs: cache no acl on new inodes Signed-off-by: Josef Bacik <josef@redhat.com>
-rw-r--r--fs/btrfs/acl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c
index 89b156d..761e2cd 100644
--- a/fs/btrfs/acl.c
+++ b/fs/btrfs/acl.c
@@ -227,7 +227,11 @@ int btrfs_init_acl(struct btrfs_trans_handle *trans,
if (ret > 0) {
/* we need an acl */
ret = btrfs_set_acl(trans, inode, acl, ACL_TYPE_ACCESS);
+ } else {
+ cache_no_acl(inode);
}
+ } else {
+ cache_no_acl(inode);
}
failed:
posix_acl_release(acl);