Lines Matching refs:acl
33 int type, struct posix_acl *acl) in ceph_set_cached_acl() argument
39 set_cached_acl(inode, type, acl); in ceph_set_cached_acl()
48 struct posix_acl *acl; in ceph_get_acl() local
70 acl = posix_acl_from_xattr(&init_user_ns, value, size); in ceph_get_acl()
72 acl = NULL; in ceph_get_acl()
74 acl = ERR_PTR(-EIO); in ceph_get_acl()
78 if (!IS_ERR(acl)) in ceph_get_acl()
79 ceph_set_cached_acl(inode, type, acl); in ceph_get_acl()
81 return acl; in ceph_get_acl()
84 int ceph_set_acl(struct inode *inode, struct posix_acl *acl, int type) in ceph_set_acl() argument
96 if (acl) { in ceph_set_acl()
97 ret = posix_acl_update_mode(inode, &new_mode, &acl); in ceph_set_acl()
104 ret = acl ? -EINVAL : 0; in ceph_set_acl()
114 if (acl) { in ceph_set_acl()
115 size = posix_acl_xattr_size(acl->a_count); in ceph_set_acl()
122 ret = posix_acl_to_xattr(&init_user_ns, acl, value, size); in ceph_set_acl()
146 ceph_set_cached_acl(inode, type, acl); in ceph_set_acl()
159 struct posix_acl *acl, *default_acl; in ceph_pre_init_acls() local
165 err = posix_acl_create(dir, mode, &default_acl, &acl); in ceph_pre_init_acls()
169 if (acl) { in ceph_pre_init_acls()
170 int ret = posix_acl_equiv_mode(acl, mode); in ceph_pre_init_acls()
174 posix_acl_release(acl); in ceph_pre_init_acls()
175 acl = NULL; in ceph_pre_init_acls()
179 if (!default_acl && !acl) in ceph_pre_init_acls()
182 if (acl) in ceph_pre_init_acls()
183 val_size1 = posix_acl_xattr_size(acl->a_count); in ceph_pre_init_acls()
200 ceph_pagelist_encode_32(pagelist, acl && default_acl ? 2 : 1); in ceph_pre_init_acls()
202 if (acl) { in ceph_pre_init_acls()
209 err = posix_acl_to_xattr(&init_user_ns, acl, in ceph_pre_init_acls()
233 info->acl = acl; in ceph_pre_init_acls()
239 posix_acl_release(acl); in ceph_pre_init_acls()
251 ceph_set_cached_acl(inode, ACL_TYPE_ACCESS, info->acl); in ceph_init_inode_acls()
257 posix_acl_release(info->acl); in ceph_release_acls_info()