Re: [PATCH v2] register NFS_ACL with rpcbind

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Nov 02, 2009 at 04:59:07PM -0500, Peter Staubach wrote:
> Hi.
> 
> Here is a patch to 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.
> 
> 	Thanx...
> 
> 		ps
> 
> Signed-off-by: Peter Staubach <staubach@xxxxxxxxxx>
> 
> --- linux-2.6.31.i686/fs/nfsd/nfs2acl.c.org
> +++ linux-2.6.31.i686/fs/nfsd/nfs2acl.c
> @@ -217,6 +217,16 @@ static int nfsaclsvc_decode_accessargs(s
>   * 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);
> +}

Out of curiosity: have you tested a null rpc?

Also, doesn't v3 have the same problem?

--b.

> +
>  /* GETACL */
>  static int nfsaclsvc_encode_getaclres(struct svc_rqst *rqstp, __be32 *p,
>  		struct nfsd3_getaclres *resp)
> @@ -308,7 +318,6 @@ static int nfsaclsvc_release_access(stru
>  }
>  
>  #define nfsaclsvc_decode_voidargs	NULL
> -#define nfsaclsvc_encode_voidres	NULL
>  #define nfsaclsvc_release_void		NULL
>  #define nfsd3_fhandleargs	nfsd_fhandle
>  #define nfsd3_attrstatres	nfsd_attrstat
> @@ -346,5 +355,5 @@ struct svc_version	nfsd_acl_version2 = {
>  		.vs_proc	= nfsd_acl_procedures2,
>  		.vs_dispatch	= nfsd_dispatch,
>  		.vs_xdrsize	= NFS3_SVC_XDRSIZE,
> -		.vs_hidden	= 1,
> +		.vs_hidden	= 0,
>  };
> --- linux-2.6.31.i686/fs/nfsd/nfs3acl.c.org
> +++ linux-2.6.31.i686/fs/nfsd/nfs3acl.c
> @@ -264,6 +264,6 @@ struct svc_version	nfsd_acl_version3 = {
>  		.vs_proc	= nfsd_acl_procedures3,
>  		.vs_dispatch	= nfsd_dispatch,
>  		.vs_xdrsize	= NFS3_SVC_XDRSIZE,
> -		.vs_hidden	= 1,
> +		.vs_hidden	= 0,
>  };
>  
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux