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()
51 struct posix_acl *acl; in ceph_get_acl() local
81 acl = posix_acl_from_xattr(&init_user_ns, value, size); in ceph_get_acl()
83 acl = NULL; in ceph_get_acl()
87 acl = ERR_PTR(-EIO); in ceph_get_acl()
92 if (!IS_ERR(acl)) in ceph_get_acl()
93 ceph_set_cached_acl(inode, type, acl); in ceph_get_acl()
95 return acl; in ceph_get_acl()
98 int ceph_set_acl(struct inode *inode, struct posix_acl *acl, int type) in ceph_set_acl() argument
110 if (acl) { in ceph_set_acl()
111 ret = posix_acl_update_mode(inode, &new_mode, &acl); in ceph_set_acl()
118 ret = acl ? -EINVAL : 0; in ceph_set_acl()
128 if (acl) { in ceph_set_acl()
129 size = posix_acl_xattr_size(acl->a_count); in ceph_set_acl()
136 ret = posix_acl_to_xattr(&init_user_ns, acl, value, size); in ceph_set_acl()
166 ceph_set_cached_acl(inode, type, acl); in ceph_set_acl()
177 struct posix_acl *acl, *default_acl; in ceph_pre_init_acls() local
183 err = posix_acl_create(dir, mode, &default_acl, &acl); in ceph_pre_init_acls()
187 if (acl) { in ceph_pre_init_acls()
188 err = posix_acl_equiv_mode(acl, mode); in ceph_pre_init_acls()
192 posix_acl_release(acl); in ceph_pre_init_acls()
193 acl = NULL; in ceph_pre_init_acls()
197 if (!default_acl && !acl) in ceph_pre_init_acls()
200 if (acl) in ceph_pre_init_acls()
201 val_size1 = posix_acl_xattr_size(acl->a_count); in ceph_pre_init_acls()
218 ceph_pagelist_encode_32(pagelist, acl && default_acl ? 2 : 1); in ceph_pre_init_acls()
220 if (acl) { in ceph_pre_init_acls()
227 err = posix_acl_to_xattr(&init_user_ns, acl, in ceph_pre_init_acls()
251 info->acl = acl; in ceph_pre_init_acls()
257 posix_acl_release(acl); in ceph_pre_init_acls()
269 ceph_set_cached_acl(inode, ACL_TYPE_ACCESS, info->acl); in ceph_init_inode_acls()
275 posix_acl_release(info->acl); in ceph_release_acls_info()