Lines Matching defs:acl
5 #include "acl.h"
95 struct posix_acl *acl;
139 acl = allocate_dropping_locks(trans, ret,
141 if (!acl)
144 kfree(acl);
148 out = acl->a_entries;
179 BUG_ON(out != acl->a_entries + acl->a_count);
181 return acl;
183 pr_err("invalid acl entry");
192 const struct posix_acl *acl,
201 FOREACH_ACL_ENTRY(acl_e, acl, pe) {
239 FOREACH_ACL_ENTRY(acl_e, acl, pe) {
277 struct posix_acl *acl = NULL;
293 acl = bch2_acl_from_disk(trans, xattr_val(xattr.v),
295 ret = PTR_ERR_OR_ZERO(acl);
301 acl = !bch2_err_matches(ret, ENOENT) ? ERR_PTR(ret) : NULL;
303 if (!IS_ERR_OR_NULL(acl))
304 set_cached_acl(&inode->v, type, acl);
308 return acl;
313 struct posix_acl *acl, int type)
320 return acl ? -EACCES : 0;
322 if (acl) {
324 bch2_acl_to_xattr(trans, acl, type);
349 struct posix_acl *acl;
357 acl = _acl;
368 ret = posix_acl_update_mode(idmap, &inode->v, &mode, &acl);
373 ret = bch2_set_acl_trans(trans, inode_inum(inode), &inode_u, acl, type);
393 set_cached_acl(&inode->v, type, acl);
409 struct posix_acl *acl = NULL;
419 acl = bch2_acl_from_disk(trans, xattr_val(xattr.v),
421 ret = PTR_ERR_OR_ZERO(acl);
425 ret = allocate_dropping_locks_errcode(trans, __posix_acl_chmod(&acl, _gfp, mode));
429 struct bkey_i_xattr *new = bch2_acl_to_xattr(trans, acl, ACL_TYPE_ACCESS);
436 *new_acl = acl;
437 acl = NULL;
440 if (!IS_ERR_OR_NULL(acl))
441 kfree(acl);