Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d7c9f1ed authored by Tom Tucker's avatar Tom Tucker Committed by J. Bruce Fields
Browse files

svc: Change services to use new svc_create_xprt service



Modify the various kernel RPC svcs to use the svc_create_xprt service.

Signed-off-by: default avatarTom Tucker <tom@opengridcomputing.com>
Acked-by: default avatarNeil Brown <neilb@suse.de>
Reviewed-by: default avatarChuck Lever <chuck.lever@oracle.com>
Reviewed-by: default avatarGreg Banks <gnb@sgi.com>
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent b700cbb1
Loading
Loading
Loading
Loading
+8 −9
Original line number Diff line number Diff line
@@ -219,13 +219,12 @@ lockd(struct svc_rqst *rqstp)
	module_put_and_exit(0);
}


static int find_socket(struct svc_serv *serv, int proto)
static int find_xprt(struct svc_serv *serv, char *proto)
{
	struct svc_sock *svsk;
	int found = 0;
	list_for_each_entry(svsk, &serv->sv_permsocks, sk_list)
		if (svsk->sk_sk->sk_protocol == proto) {
		if (strcmp(svsk->sk_xprt.xpt_class->xcl_name, proto) == 0) {
			found = 1;
			break;
		}
@@ -243,12 +242,12 @@ static int make_socks(struct svc_serv *serv, int proto)
	int err = 0;

	if (proto == IPPROTO_UDP || nlm_udpport)
		if (!find_socket(serv, IPPROTO_UDP))
			err = svc_makesock(serv, IPPROTO_UDP, nlm_udpport,
		if (!find_xprt(serv, "udp"))
			err = svc_create_xprt(serv, "udp", nlm_udpport,
					      SVC_SOCK_DEFAULTS);
	if (err >= 0 && (proto == IPPROTO_TCP || nlm_tcpport))
		if (!find_socket(serv, IPPROTO_TCP))
			err = svc_makesock(serv, IPPROTO_TCP, nlm_tcpport,
		if (!find_xprt(serv, "tcp"))
			err = svc_create_xprt(serv, "tcp", nlm_tcpport,
					      SVC_SOCK_DEFAULTS);

	if (err >= 0) {
+2 −2
Original line number Diff line number Diff line
@@ -119,7 +119,7 @@ int nfs_callback_up(void)
	if (!serv)
		goto out_err;

	ret = svc_makesock(serv, IPPROTO_TCP, nfs_callback_set_tcpport,
	ret = svc_create_xprt(serv, "tcp", nfs_callback_set_tcpport,
			      SVC_SOCK_ANONYMOUS);
	if (ret <= 0)
		goto out_destroy;
+2 −2
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ static int nfsd_init_socks(int port)

	error = lockd_up(IPPROTO_UDP);
	if (error >= 0) {
		error = svc_makesock(nfsd_serv, IPPROTO_UDP, port,
		error = svc_create_xprt(nfsd_serv, "udp", port,
					SVC_SOCK_DEFAULTS);
		if (error < 0)
			lockd_down();
@@ -247,7 +247,7 @@ static int nfsd_init_socks(int port)
#ifdef CONFIG_NFSD_TCP
	error = lockd_up(IPPROTO_TCP);
	if (error >= 0) {
		error = svc_makesock(nfsd_serv, IPPROTO_TCP, port,
		error = svc_create_xprt(nfsd_serv, "tcp", port,
					SVC_SOCK_DEFAULTS);
		if (error < 0)
			lockd_down();
+0 −1
Original line number Diff line number Diff line
@@ -67,7 +67,6 @@ struct svc_sock {
/*
 * Function prototypes.
 */
int		svc_makesock(struct svc_serv *, int, unsigned short, int flags);
void		svc_force_close_socket(struct svc_sock *);
int		svc_recv(struct svc_rqst *, long);
int		svc_send(struct svc_rqst *);
+0 −1
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ EXPORT_SYMBOL(svc_drop);
EXPORT_SYMBOL(svc_process);
EXPORT_SYMBOL(svc_recv);
EXPORT_SYMBOL(svc_wake_up);
EXPORT_SYMBOL(svc_makesock);
EXPORT_SYMBOL(svc_reserve);
EXPORT_SYMBOL(svc_auth_register);
EXPORT_SYMBOL(auth_domain_lookup);
Loading