Lines Matching refs:pacl
144 struct posix_acl *pacl = NULL, *dpacl = NULL; in nfsd4_get_nfs4_acl() local
148 pacl = get_acl(inode, ACL_TYPE_ACCESS); in nfsd4_get_nfs4_acl()
149 if (!pacl) in nfsd4_get_nfs4_acl()
150 pacl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL); in nfsd4_get_nfs4_acl()
152 if (IS_ERR(pacl)) in nfsd4_get_nfs4_acl()
153 return PTR_ERR(pacl); in nfsd4_get_nfs4_acl()
156 size += 2 * pacl->a_count; in nfsd4_get_nfs4_acl()
177 _posix_to_nfsv4_one(pacl, *acl, flags & ~NFS4_ACL_TYPE_DEFAULT); in nfsd4_get_nfs4_acl()
185 posix_acl_release(pacl); in nfsd4_get_nfs4_acl()
243 _posix_to_nfsv4_one(struct posix_acl *pacl, struct nfs4_acl *acl, in _posix_to_nfsv4_one() argument
253 BUG_ON(pacl->a_count < 3); in _posix_to_nfsv4_one()
254 summarize_posix_acl(pacl, &pas); in _posix_to_nfsv4_one()
256 pa = pacl->a_entries; in _posix_to_nfsv4_one()
385 sort_pacl_range(struct posix_acl *pacl, int start, int end) { in sort_pacl_range() argument
394 if (pace_gt(&pacl->a_entries[i], in sort_pacl_range()
395 &pacl->a_entries[i+1])) { in sort_pacl_range()
397 tmp = pacl->a_entries[i]; in sort_pacl_range()
398 pacl->a_entries[i] = pacl->a_entries[i+1]; in sort_pacl_range()
399 pacl->a_entries[i+1] = tmp; in sort_pacl_range()
406 sort_pacl(struct posix_acl *pacl) in sort_pacl() argument
413 if (!pacl || pacl->a_count <= 4) in sort_pacl()
417 while (pacl->a_entries[i].e_tag == ACL_USER) in sort_pacl()
419 sort_pacl_range(pacl, 1, i-1); in sort_pacl()
421 BUG_ON(pacl->a_entries[i].e_tag != ACL_GROUP_OBJ); in sort_pacl()
423 while (pacl->a_entries[j].e_tag == ACL_GROUP) in sort_pacl()
425 sort_pacl_range(pacl, i, j-1); in sort_pacl()
506 struct posix_acl *pacl; in posix_state_to_acl() local
527 pacl = posix_acl_alloc(nace, GFP_KERNEL); in posix_state_to_acl()
528 if (!pacl) in posix_state_to_acl()
531 pace = pacl->a_entries; in posix_state_to_acl()
568 return pacl; in posix_state_to_acl()
705 struct posix_acl **pacl, struct posix_acl **dpacl, in nfs4_acl_nfsv4_to_posix() argument
741 *pacl = posix_state_to_acl(&effective_acl_state, flags); in nfs4_acl_nfsv4_to_posix()
742 if (IS_ERR(*pacl)) { in nfs4_acl_nfsv4_to_posix()
743 ret = PTR_ERR(*pacl); in nfs4_acl_nfsv4_to_posix()
744 *pacl = NULL; in nfs4_acl_nfsv4_to_posix()
752 posix_acl_release(*pacl); in nfs4_acl_nfsv4_to_posix()
753 *pacl = NULL; in nfs4_acl_nfsv4_to_posix()
756 sort_pacl(*pacl); in nfs4_acl_nfsv4_to_posix()
774 struct posix_acl *pacl = NULL, *dpacl = NULL; in nfsd4_set_nfs4_acl() local
791 host_error = nfs4_acl_nfsv4_to_posix(acl, &pacl, &dpacl, flags); in nfsd4_set_nfs4_acl()
797 host_error = inode->i_op->set_acl(inode, pacl, ACL_TYPE_ACCESS); in nfsd4_set_nfs4_acl()
807 posix_acl_release(pacl); in nfsd4_set_nfs4_acl()