Lines Matching defs:acl
3 * linux/fs/ext2/acl.c
14 #include "acl.h"
24 struct posix_acl *acl;
39 acl = posix_acl_alloc(count, GFP_KERNEL);
40 if (!acl)
47 acl->a_entries[n].e_tag = le16_to_cpu(entry->e_tag);
48 acl->a_entries[n].e_perm = le16_to_cpu(entry->e_perm);
49 switch(acl->a_entries[n].e_tag) {
62 acl->a_entries[n].e_uid =
70 acl->a_entries[n].e_gid =
81 return acl;
84 posix_acl_release(acl);
92 ext2_acl_to_disk(const struct posix_acl *acl, size_t *size)
98 *size = ext2_acl_size(acl->a_count);
99 ext_acl = kmalloc(sizeof(ext2_acl_header) + acl->a_count *
105 for (n=0; n < acl->a_count; n++) {
106 const struct posix_acl_entry *acl_e = &acl->a_entries[n];
148 struct posix_acl *acl;
169 acl = ext2_acl_from_disk(value, retval);
171 acl = NULL;
173 acl = ERR_PTR(retval);
176 return acl;
180 __ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
195 return acl ? -EACCES : 0;
201 if (acl) {
202 value = ext2_acl_to_disk(acl, &size);
211 set_cached_acl(inode, type, acl);
219 ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
225 if (type == ACL_TYPE_ACCESS && acl) {
226 error = posix_acl_update_mode(inode, &mode, &acl);
231 error = __ext2_set_acl(inode, acl, type);
249 struct posix_acl *default_acl, *acl;
252 error = posix_acl_create(dir, &inode->i_mode, &default_acl, &acl);
262 if (acl) {
264 error = __ext2_set_acl(inode, acl, ACL_TYPE_ACCESS);
265 posix_acl_release(acl);