PERFORCE change 165251 for review

Julian Elischer julian at elischer.org
Fri Jun 26 21:47:36 UTC 2009


Marko Zec wrote:
> http://perforce.freebsd.org/chv.cgi?CH=165251
> 
> Change 165251 by zec at zec_amdx4 on 2009/06/26 14:13:00
> 
> 	Allow for rpc.statd and rpc.lockd to be started, but
> 	without doing any functional testing.  Introduce a lot
> 	curvnet recursions triggered by the above daemons that
> 	have to be looked into and resolved.
> 
> Affected files ...
> 
> .. //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 edit
> .. //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 edit
> 
> Differences ...
> 
> ==== //depot/projects/vimage-commit2/src/sys/rpc/clnt_dg.c#6 (text+ko) ====
> 
> @@ -56,6 +56,7 @@
>  #include <sys/socketvar.h>
>  #include <sys/time.h>
>  #include <sys/uio.h>
> +#include <sys/vimage.h>
>  
>  #include <rpc/rpc.h>
>  #include <rpc/rpc_com.h>
> @@ -197,11 +198,14 @@
>  		return (NULL);
>  	}
>  
> +	CURVNET_SET(so->so_vnet);
>  	if (!__rpc_socket2sockinfo(so, &si)) {
>  		rpc_createerr.cf_stat = RPC_TLIERROR;
>  		rpc_createerr.cf_error.re_errno = 0;
> +		CURVNET_RESTORE();
>  		return (NULL);
>  	}
> +	CURVNET_RESTORE();
>  
>  	/*
>  	 * Find the receive and the send size
> 
> ==== //depot/projects/vimage-commit2/src/sys/rpc/svc_dg.c#4 (text+ko) ====
> 
> @@ -56,6 +56,7 @@
>  #include <sys/sx.h>
>  #include <sys/systm.h>
>  #include <sys/uio.h>
> +#include <sys/vimage.h>
>  
>  #include <rpc/rpc.h>
>  
> @@ -101,8 +102,10 @@
>  	struct sockaddr* sa;
>  	int error;
>  
> +	CURVNET_SET(so->so_vnet);
>  	if (!__rpc_socket2sockinfo(so, &si)) {
>  		printf(svc_dg_str, svc_dg_err1);
> +		CURVNET_RESTORE();
>  		return (NULL);
>  	}
>  	/*
> @@ -112,6 +115,7 @@
>  	recvsize = __rpc_get_t_size(si.si_af, si.si_proto, (int)recvsize);
>  	if ((sendsize == 0) || (recvsize == 0)) {
>  		printf(svc_dg_str, svc_dg_err2);
> +		CURVNET_RESTORE();
>  		return (NULL);
>  	}
>  
> @@ -142,6 +146,7 @@
>  	if (xprt) {
>  		svc_xprt_free(xprt);
>  	}
> +	CURVNET_RESTORE();
>  	return (NULL);
>  }
>  


while leaving all your virtualization clues in place can we make it so 
that the nfs code always works on vnet0?
I putr it to you that NFS itself should be virtualized as a separate 
major group than vnet.. but until that is done, use vnet0.



More information about the p4-projects mailing list