generic_acl: no need to clone acl just to push it to set_cached_acl()

In-core acls are copy-on-write, so the reference taken by set_cached_acl() will
do just fine.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2011-07-23 02:41:54 -04:00
parent bc26ab5f65
commit 95203befa8
1 changed files with 2 additions and 8 deletions

View File

@ -134,14 +134,8 @@ generic_acl_init(struct inode *inode, struct inode *dir)
if (acl) {
struct posix_acl *clone;
if (S_ISDIR(inode->i_mode)) {
clone = posix_acl_clone(acl, GFP_KERNEL);
error = -ENOMEM;
if (!clone)
goto cleanup;
set_cached_acl(inode, ACL_TYPE_DEFAULT, clone);
posix_acl_release(clone);
}
if (S_ISDIR(inode->i_mode))
set_cached_acl(inode, ACL_TYPE_DEFAULT, acl);
clone = posix_acl_clone(acl, GFP_KERNEL);
error = -ENOMEM;
if (!clone)