mirror of
https://github.com/adulau/aha.git
synced 2024-12-29 12:16:20 +00:00
nfsd: register NFS_ACL with rpcbind
Modify the NFS server to register the NFS_ACL services with the rpcbind daemon. This allows the client to ping for the existence of the NFS_ACL support via commands such as "rpcinfo -t <server> nfs_acl". This patch also modifies the NFS_ACL support so that responses to version 2 NULLPROC requests can be made. The changelog for the patch which turned off this functionality mentioned something about not registering the NFS_ACL as being part of some tradition. I can't find this tradition and the only other implementation which supports NFS_ACL does register them with the rpcbind daemon. Signed-off-by: Peter Staubach <staubach@redhat.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
aba24d7158
commit
1b7e0403c6
2 changed files with 12 additions and 3 deletions
|
@ -217,6 +217,16 @@ static int nfsaclsvc_decode_accessargs(struct svc_rqst *rqstp, __be32 *p,
|
||||||
* XDR encode functions
|
* XDR encode functions
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* There must be an encoding function for void results so svc_process
|
||||||
|
* will work properly.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
nfsaclsvc_encode_voidres(struct svc_rqst *rqstp, __be32 *p, void *dummy)
|
||||||
|
{
|
||||||
|
return xdr_ressize_check(rqstp, p);
|
||||||
|
}
|
||||||
|
|
||||||
/* GETACL */
|
/* GETACL */
|
||||||
static int nfsaclsvc_encode_getaclres(struct svc_rqst *rqstp, __be32 *p,
|
static int nfsaclsvc_encode_getaclres(struct svc_rqst *rqstp, __be32 *p,
|
||||||
struct nfsd3_getaclres *resp)
|
struct nfsd3_getaclres *resp)
|
||||||
|
@ -308,7 +318,6 @@ static int nfsaclsvc_release_access(struct svc_rqst *rqstp, __be32 *p,
|
||||||
}
|
}
|
||||||
|
|
||||||
#define nfsaclsvc_decode_voidargs NULL
|
#define nfsaclsvc_decode_voidargs NULL
|
||||||
#define nfsaclsvc_encode_voidres NULL
|
|
||||||
#define nfsaclsvc_release_void NULL
|
#define nfsaclsvc_release_void NULL
|
||||||
#define nfsd3_fhandleargs nfsd_fhandle
|
#define nfsd3_fhandleargs nfsd_fhandle
|
||||||
#define nfsd3_attrstatres nfsd_attrstat
|
#define nfsd3_attrstatres nfsd_attrstat
|
||||||
|
@ -346,5 +355,5 @@ struct svc_version nfsd_acl_version2 = {
|
||||||
.vs_proc = nfsd_acl_procedures2,
|
.vs_proc = nfsd_acl_procedures2,
|
||||||
.vs_dispatch = nfsd_dispatch,
|
.vs_dispatch = nfsd_dispatch,
|
||||||
.vs_xdrsize = NFS3_SVC_XDRSIZE,
|
.vs_xdrsize = NFS3_SVC_XDRSIZE,
|
||||||
.vs_hidden = 1,
|
.vs_hidden = 0,
|
||||||
};
|
};
|
||||||
|
|
|
@ -264,6 +264,6 @@ struct svc_version nfsd_acl_version3 = {
|
||||||
.vs_proc = nfsd_acl_procedures3,
|
.vs_proc = nfsd_acl_procedures3,
|
||||||
.vs_dispatch = nfsd_dispatch,
|
.vs_dispatch = nfsd_dispatch,
|
||||||
.vs_xdrsize = NFS3_SVC_XDRSIZE,
|
.vs_xdrsize = NFS3_SVC_XDRSIZE,
|
||||||
.vs_hidden = 1,
|
.vs_hidden = 0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue