nfs2acl.c (f1615bbe9be4def59c3b3eaddb60722efeed16c2) nfs2acl.c (35e634b83cbe23e5673289d1536752968aab8f75)
1/*
2 * Process version 2 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 */

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

49 resp->mask = argp->mask;
50
51 nfserr = fh_getattr(fh, &resp->stat);
52 if (nfserr)
53 goto fail;
54
55 if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
56 acl = get_acl(inode, ACL_TYPE_ACCESS);
1/*
2 * Process version 2 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 */

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

49 resp->mask = argp->mask;
50
51 nfserr = fh_getattr(fh, &resp->stat);
52 if (nfserr)
53 goto fail;
54
55 if (resp->mask & (NFS_ACL|NFS_ACLCNT)) {
56 acl = get_acl(inode, ACL_TYPE_ACCESS);
57 if (IS_ERR(acl)) {
58 nfserr = nfserrno(PTR_ERR(acl));
59 goto fail;
60 }
61 if (acl == NULL) {
62 /* Solaris returns the inode's minimum ACL. */
63 acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
64 }
57 if (acl == NULL) {
58 /* Solaris returns the inode's minimum ACL. */
59 acl = posix_acl_from_mode(inode->i_mode, GFP_KERNEL);
60 }
61 if (IS_ERR(acl)) {
62 nfserr = nfserrno(PTR_ERR(acl));
63 goto fail;
64 }
65 resp->acl_access = acl;
66 }
67 if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
68 /* Check how Solaris handles requests for the Default ACL
69 of a non-directory! */
70 acl = get_acl(inode, ACL_TYPE_DEFAULT);
71 if (IS_ERR(acl)) {
72 nfserr = nfserrno(PTR_ERR(acl));

--- 310 unchanged lines hidden ---
65 resp->acl_access = acl;
66 }
67 if (resp->mask & (NFS_DFACL|NFS_DFACLCNT)) {
68 /* Check how Solaris handles requests for the Default ACL
69 of a non-directory! */
70 acl = get_acl(inode, ACL_TYPE_DEFAULT);
71 if (IS_ERR(acl)) {
72 nfserr = nfserrno(PTR_ERR(acl));

--- 310 unchanged lines hidden ---