Lines Matching defs:acl
3 * linux/fs/ceph/acl.c
20 int type, struct posix_acl *acl)
26 set_cached_acl(inode, type, acl);
38 struct posix_acl *acl;
68 acl = posix_acl_from_xattr(&init_user_ns, value, size);
70 acl = NULL;
72 pr_err_ratelimited("get acl %llx.%llx failed, err=%d\n",
74 acl = ERR_PTR(-EIO);
79 if (!IS_ERR(acl))
80 ceph_set_cached_acl(inode, type, acl);
82 return acl;
85 int ceph_set_acl(struct inode *inode, struct posix_acl *acl, int type)
102 if (acl) {
103 ret = posix_acl_update_mode(inode, &new_mode, &acl);
110 ret = acl ? -EINVAL : 0;
120 if (acl) {
121 size = posix_acl_xattr_size(acl->a_count);
128 ret = posix_acl_to_xattr(&init_user_ns, acl, value, size);
153 ceph_set_cached_acl(inode, type, acl);
164 struct posix_acl *acl, *default_acl;
170 err = posix_acl_create(dir, mode, &default_acl, &acl);
174 if (acl) {
175 err = posix_acl_equiv_mode(acl, mode);
179 posix_acl_release(acl);
180 acl = NULL;
184 if (!default_acl && !acl)
187 if (acl)
188 val_size1 = posix_acl_xattr_size(acl->a_count);
204 ceph_pagelist_encode_32(pagelist, acl && default_acl ? 2 : 1);
206 if (acl) {
213 err = posix_acl_to_xattr(&init_user_ns, acl,
237 as_ctx->acl = acl;
243 posix_acl_release(acl);
255 ceph_set_cached_acl(inode, ACL_TYPE_ACCESS, as_ctx->acl);