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;
172 acl = ext2_acl_from_disk(value, retval);
174 acl = NULL;
176 acl = ERR_PTR(retval);
179 return acl;
183 __ext2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
198 return acl ? -EACCES : 0;
204 if (acl) {
205 value = ext2_acl_to_disk(acl, &size);
214 set_cached_acl(inode, type, acl);
223 struct posix_acl *acl, int type)
230 if (type == ACL_TYPE_ACCESS && acl) {
232 &acl);
237 error = __ext2_set_acl(inode, acl, type);
255 struct posix_acl *default_acl, *acl;
258 error = posix_acl_create(dir, &inode->i_mode, &default_acl, &acl);
268 if (acl) {
270 error = __ext2_set_acl(inode, acl, ACL_TYPE_ACCESS);
271 posix_acl_release(acl);