Lines Matching refs:acl
28 static void nfs3_complete_get_acl(struct posix_acl **p, struct posix_acl *acl) in nfs3_complete_get_acl() argument
33 posix_acl_dup(acl); in nfs3_complete_get_acl()
34 if (cmpxchg(p, sentinel, acl) != sentinel) in nfs3_complete_get_acl()
35 posix_acl_release(acl); in nfs3_complete_get_acl()
161 static int __nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl, in __nfs3_proc_setacls() argument
170 .acl_access = acl, in __nfs3_proc_setacls()
179 if (acl == NULL && (!S_ISDIR(inode->i_mode) || dfacl == NULL)) in __nfs3_proc_setacls()
189 if (acl != NULL && acl->a_count > NFS_ACL_MAX_ENTRIES) in __nfs3_proc_setacls()
196 args.len = nfsacl_size(acl, dfacl); in __nfs3_proc_setacls()
198 args.len = nfsacl_size(acl, NULL); in __nfs3_proc_setacls()
248 int nfs3_proc_setacls(struct inode *inode, struct posix_acl *acl, in nfs3_proc_setacls() argument
252 ret = __nfs3_proc_setacls(inode, acl, dfacl); in nfs3_proc_setacls()
258 struct posix_acl *acl, int type) in nfs3_set_acl() argument
260 struct posix_acl *orig = acl, *dfacl = NULL, *alloc; in nfs3_set_acl()
277 dfacl = acl; in nfs3_set_acl()
278 acl = alloc; in nfs3_set_acl()
283 if (acl == NULL) { in nfs3_set_acl()
287 acl = alloc; in nfs3_set_acl()
289 status = __nfs3_proc_setacls(inode, acl, dfacl); in nfs3_set_acl()
291 if (acl != orig) in nfs3_set_acl()
292 posix_acl_release(acl); in nfs3_set_acl()
306 struct posix_acl *acl; in nfs3_list_one_acl() local
309 acl = get_inode_acl(inode, type); in nfs3_list_one_acl()
310 if (IS_ERR_OR_NULL(acl)) in nfs3_list_one_acl()
313 posix_acl_release(acl); in nfs3_list_one_acl()