9 #include <linux/nfsacl.h>
15 #define RETURN_STATUS(st) { resp->status = (st); return (st); }
36 fh = fh_copy(&resp->
fh, &argp->
fh);
48 int err = PTR_ERR(acl);
71 int err = PTR_ERR(acl);
102 fh = fh_copy(&resp->
fh, &argp->
fh);
106 nfserr =
nfserrno( nfsd_set_posix_acl(
110 nfserr =
nfserrno( nfsd_set_posix_acl(
124 static int nfs3svc_decode_getaclargs(
struct svc_rqst *rqstp,
__be32 *
p,
131 return xdr_argsize_check(rqstp, p);
135 static int nfs3svc_decode_setaclargs(
struct svc_rqst *rqstp,
__be32 *p,
146 !xdr_argsize_check(rqstp, p))
149 base = (
char *)p - (
char *)head->
iov_base;
165 static int nfs3svc_encode_getaclres(
struct svc_rqst *rqstp,
__be32 *p,
179 if (!xdr_ressize_check(rqstp, p))
181 base = (
char *)p - (
char *)head->
iov_base;
183 rqstp->
rq_res.page_len = w = nfsacl_size(
203 if (!xdr_ressize_check(rqstp, p))
210 static int nfs3svc_encode_setaclres(
struct svc_rqst *rqstp,
__be32 *p,
215 return xdr_ressize_check(rqstp, p);
221 static int nfs3svc_release_getacl(
struct svc_rqst *rqstp,
__be32 *p,
230 #define nfs3svc_decode_voidargs NULL
231 #define nfs3svc_release_void NULL
232 #define nfsd3_setaclres nfsd3_attrstat
233 #define nfsd3_voidres nfsd3_voidargs
236 #define PROC(name, argt, rest, relt, cache, respsize) \
237 { (svc_procfunc) nfsd3_proc_##name, \
238 (kxdrproc_t) nfs3svc_decode_##argt##args, \
239 (kxdrproc_t) nfs3svc_encode_##rest##res, \
240 (kxdrproc_t) nfs3svc_release_##relt, \
241 sizeof(struct nfsd3_##argt##args), \
242 sizeof(struct nfsd3_##rest##res), \
251 #define ACL (1+NFS_ACL_MAX_ENTRIES*3)
262 .vs_proc = nfsd_acl_procedures3,