Lines Matching refs:acl
20 int type, struct posix_acl *acl) in ceph_set_cached_acl() argument
26 set_cached_acl(inode, type, acl); in ceph_set_cached_acl()
38 struct posix_acl *acl; in ceph_get_acl() local
68 acl = posix_acl_from_xattr(&init_user_ns, value, size); in ceph_get_acl()
70 acl = NULL; in ceph_get_acl()
74 acl = ERR_PTR(-EIO); in ceph_get_acl()
79 if (!IS_ERR(acl)) in ceph_get_acl()
80 ceph_set_cached_acl(inode, type, acl); in ceph_get_acl()
82 return acl; in ceph_get_acl()
85 int ceph_set_acl(struct inode *inode, struct posix_acl *acl, int type) in ceph_set_acl() argument
102 if (acl) { in ceph_set_acl()
103 ret = posix_acl_update_mode(inode, &new_mode, &acl); in ceph_set_acl()
110 ret = acl ? -EINVAL : 0; in ceph_set_acl()
120 if (acl) { in ceph_set_acl()
121 size = posix_acl_xattr_size(acl->a_count); in ceph_set_acl()
128 ret = posix_acl_to_xattr(&init_user_ns, acl, value, size); in ceph_set_acl()
153 ceph_set_cached_acl(inode, type, acl); in ceph_set_acl()
164 struct posix_acl *acl, *default_acl; in ceph_pre_init_acls() local
170 err = posix_acl_create(dir, mode, &default_acl, &acl); in ceph_pre_init_acls()
174 if (acl) { in ceph_pre_init_acls()
175 err = posix_acl_equiv_mode(acl, mode); in ceph_pre_init_acls()
179 posix_acl_release(acl); in ceph_pre_init_acls()
180 acl = NULL; in ceph_pre_init_acls()
184 if (!default_acl && !acl) in ceph_pre_init_acls()
187 if (acl) in ceph_pre_init_acls()
188 val_size1 = posix_acl_xattr_size(acl->a_count); in ceph_pre_init_acls()
204 ceph_pagelist_encode_32(pagelist, acl && default_acl ? 2 : 1); in ceph_pre_init_acls()
206 if (acl) { in ceph_pre_init_acls()
213 err = posix_acl_to_xattr(&init_user_ns, acl, in ceph_pre_init_acls()
237 as_ctx->acl = acl; in ceph_pre_init_acls()
243 posix_acl_release(acl); in ceph_pre_init_acls()
255 ceph_set_cached_acl(inode, ACL_TYPE_ACCESS, as_ctx->acl); in ceph_init_inode_acls()