sunrpc: remove svc_tcp_bc_class
Remove svc_xprt_class svc_tcp_bc_class and related functions Signed-off-by: Vasily Averin <vvs@virtuozzo.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
4aa5cffefa
commit
7f39154609
@ -70,13 +70,6 @@ static void svc_sock_free(struct svc_xprt *);
|
|||||||
static struct svc_xprt *svc_create_socket(struct svc_serv *, int,
|
static struct svc_xprt *svc_create_socket(struct svc_serv *, int,
|
||||||
struct net *, struct sockaddr *,
|
struct net *, struct sockaddr *,
|
||||||
int, int);
|
int, int);
|
||||||
#if defined(CONFIG_SUNRPC_BACKCHANNEL)
|
|
||||||
static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int,
|
|
||||||
struct net *, struct sockaddr *,
|
|
||||||
int, int);
|
|
||||||
static void svc_bc_sock_free(struct svc_xprt *xprt);
|
|
||||||
#endif /* CONFIG_SUNRPC_BACKCHANNEL */
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
#ifdef CONFIG_DEBUG_LOCK_ALLOC
|
||||||
static struct lock_class_key svc_key[2];
|
static struct lock_class_key svc_key[2];
|
||||||
static struct lock_class_key svc_slock_key[2];
|
static struct lock_class_key svc_slock_key[2];
|
||||||
@ -1189,58 +1182,6 @@ static struct svc_xprt *svc_tcp_create(struct svc_serv *serv,
|
|||||||
return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags);
|
return svc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_SUNRPC_BACKCHANNEL)
|
|
||||||
static struct svc_xprt *svc_bc_create_socket(struct svc_serv *, int,
|
|
||||||
struct net *, struct sockaddr *,
|
|
||||||
int, int);
|
|
||||||
static void svc_bc_sock_free(struct svc_xprt *xprt);
|
|
||||||
|
|
||||||
static struct svc_xprt *svc_bc_tcp_create(struct svc_serv *serv,
|
|
||||||
struct net *net,
|
|
||||||
struct sockaddr *sa, int salen,
|
|
||||||
int flags)
|
|
||||||
{
|
|
||||||
return svc_bc_create_socket(serv, IPPROTO_TCP, net, sa, salen, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void svc_bc_tcp_sock_detach(struct svc_xprt *xprt)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static const struct svc_xprt_ops svc_tcp_bc_ops = {
|
|
||||||
.xpo_create = svc_bc_tcp_create,
|
|
||||||
.xpo_detach = svc_bc_tcp_sock_detach,
|
|
||||||
.xpo_free = svc_bc_sock_free,
|
|
||||||
.xpo_prep_reply_hdr = svc_tcp_prep_reply_hdr,
|
|
||||||
.xpo_secure_port = svc_sock_secure_port,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct svc_xprt_class svc_tcp_bc_class = {
|
|
||||||
.xcl_name = "tcp-bc",
|
|
||||||
.xcl_owner = THIS_MODULE,
|
|
||||||
.xcl_ops = &svc_tcp_bc_ops,
|
|
||||||
.xcl_max_payload = RPCSVC_MAXPAYLOAD_TCP,
|
|
||||||
};
|
|
||||||
|
|
||||||
static void svc_init_bc_xprt_sock(void)
|
|
||||||
{
|
|
||||||
svc_reg_xprt_class(&svc_tcp_bc_class);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void svc_cleanup_bc_xprt_sock(void)
|
|
||||||
{
|
|
||||||
svc_unreg_xprt_class(&svc_tcp_bc_class);
|
|
||||||
}
|
|
||||||
#else /* CONFIG_SUNRPC_BACKCHANNEL */
|
|
||||||
static void svc_init_bc_xprt_sock(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static void svc_cleanup_bc_xprt_sock(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_SUNRPC_BACKCHANNEL */
|
|
||||||
|
|
||||||
static const struct svc_xprt_ops svc_tcp_ops = {
|
static const struct svc_xprt_ops svc_tcp_ops = {
|
||||||
.xpo_create = svc_tcp_create,
|
.xpo_create = svc_tcp_create,
|
||||||
.xpo_recvfrom = svc_tcp_recvfrom,
|
.xpo_recvfrom = svc_tcp_recvfrom,
|
||||||
@ -1267,14 +1208,12 @@ void svc_init_xprt_sock(void)
|
|||||||
{
|
{
|
||||||
svc_reg_xprt_class(&svc_tcp_class);
|
svc_reg_xprt_class(&svc_tcp_class);
|
||||||
svc_reg_xprt_class(&svc_udp_class);
|
svc_reg_xprt_class(&svc_udp_class);
|
||||||
svc_init_bc_xprt_sock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void svc_cleanup_xprt_sock(void)
|
void svc_cleanup_xprt_sock(void)
|
||||||
{
|
{
|
||||||
svc_unreg_xprt_class(&svc_tcp_class);
|
svc_unreg_xprt_class(&svc_tcp_class);
|
||||||
svc_unreg_xprt_class(&svc_udp_class);
|
svc_unreg_xprt_class(&svc_udp_class);
|
||||||
svc_cleanup_bc_xprt_sock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void svc_tcp_init(struct svc_sock *svsk, struct svc_serv *serv)
|
static void svc_tcp_init(struct svc_sock *svsk, struct svc_serv *serv)
|
||||||
@ -1595,43 +1534,3 @@ static void svc_sock_free(struct svc_xprt *xprt)
|
|||||||
sock_release(svsk->sk_sock);
|
sock_release(svsk->sk_sock);
|
||||||
kfree(svsk);
|
kfree(svsk);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if defined(CONFIG_SUNRPC_BACKCHANNEL)
|
|
||||||
/*
|
|
||||||
* Create a back channel svc_xprt which shares the fore channel socket.
|
|
||||||
*/
|
|
||||||
static struct svc_xprt *svc_bc_create_socket(struct svc_serv *serv,
|
|
||||||
int protocol,
|
|
||||||
struct net *net,
|
|
||||||
struct sockaddr *sin, int len,
|
|
||||||
int flags)
|
|
||||||
{
|
|
||||||
struct svc_sock *svsk;
|
|
||||||
struct svc_xprt *xprt;
|
|
||||||
|
|
||||||
if (protocol != IPPROTO_TCP) {
|
|
||||||
printk(KERN_WARNING "svc: only TCP sockets"
|
|
||||||
" supported on shared back channel\n");
|
|
||||||
return ERR_PTR(-EINVAL);
|
|
||||||
}
|
|
||||||
|
|
||||||
svsk = kzalloc(sizeof(*svsk), GFP_KERNEL);
|
|
||||||
if (!svsk)
|
|
||||||
return ERR_PTR(-ENOMEM);
|
|
||||||
|
|
||||||
xprt = &svsk->sk_xprt;
|
|
||||||
svc_xprt_init(net, &svc_tcp_bc_class, xprt, serv);
|
|
||||||
set_bit(XPT_CONG_CTRL, &svsk->sk_xprt.xpt_flags);
|
|
||||||
|
|
||||||
return xprt;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Free a back channel svc_sock.
|
|
||||||
*/
|
|
||||||
static void svc_bc_sock_free(struct svc_xprt *xprt)
|
|
||||||
{
|
|
||||||
if (xprt)
|
|
||||||
kfree(container_of(xprt, struct svc_sock, sk_xprt));
|
|
||||||
}
|
|
||||||
#endif /* CONFIG_SUNRPC_BACKCHANNEL */
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user