nfs3acl.c (f1615bbe9be4def59c3b3eaddb60722efeed16c2) nfs3acl.c (35e634b83cbe23e5673289d1536752968aab8f75)
1/*
2 * Process version 3 NFSACL requests.
3 *
4 * Copyright (C) 2002-2003 Andreas Gruenbacher <agruen@suse.de>
5 */
6
7#include "nfsd.h"
8/* FIXME: nfsacl.h is a broken header */

--- 33 unchanged lines hidden (view full) ---

42 inode = fh->fh_dentry->d_inode;
43
44 if (argp->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT))
45 RETURN_STATUS(nfserr_inval);
46 resp->mask = argp->mask;
47
48 if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
49 acl = get_acl(inode, ACL_TYPE_ACCESS);
1/*
2 * Process version 3 NFSACL requests.
3 *
4 * Copyright (C) 2002-2003 Andreas Gruenbacher <agruen@suse.de>
5 */
6
7#include "nfsd.h"
8/* FIXME: nfsacl.h is a broken header */

--- 33 unchanged lines hidden (view full) ---

42 inode = fh->fh_dentry->d_inode;
43
44 if (argp->mask & ~(NFS_ACL|NFS_ACLCNT|NFS_DFACL|NFS_DFACLCNT))
45 RETURN_STATUS(nfserr_inval);
46 resp->mask = argp->mask;
47
48 if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
49 acl = get_acl(inode, ACL_TYPE_ACCESS);
50 if (IS_ERR(acl)) {
51 nfserr = nfserrno(PTR_ERR(acl));
52 goto fail;
53 }
54 if (acl == NULL) {
55 /* Solaris returns the inode's minimum ACL. */
56 acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
57 }
50 if (acl == NULL) {
51 /* Solaris returns the inode's minimum ACL. */
52 acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
53 }
54 if (IS_ERR(acl)) {
55 nfserr = nfserrno(PTR_ERR(acl));
56 goto fail;
57 }
58 resp->acl_access = acl;
59 }
60 if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
61 /* Check how Solaris handles requests for the Default ACL
62 of a non-directory! */
63 acl = get_acl(inode, ACL_TYPE_DEFAULT);
64 if (IS_ERR(acl)) {
65 nfserr = nfserrno(PTR_ERR(acl));

--- 208 unchanged lines hidden ---
58 resp->acl_access = acl;
59 }
60 if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
61 /* Check how Solaris handles requests for the Default ACL
62 of a non-directory! */
63 acl = get_acl(inode, ACL_TYPE_DEFAULT);
64 if (IS_ERR(acl)) {
65 nfserr = nfserrno(PTR_ERR(acl));

--- 208 unchanged lines hidden ---