projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[firefly-linux-kernel-4.4.55.git]
/
net
/
sunrpc
/
xprtrdma
/
transport.c
diff --git
a/net/sunrpc/xprtrdma/transport.c
b/net/sunrpc/xprtrdma/transport.c
index 41e452bc580c0fea0f39fe71924b72dcdff6782f..8c545f7d75257ef72135f8dec24a91ad86fbbc9f 100644
(file)
--- a/
net/sunrpc/xprtrdma/transport.c
+++ b/
net/sunrpc/xprtrdma/transport.c
@@
-676,7
+676,7
@@
static void xprt_rdma_print_stats(struct rpc_xprt *xprt, struct seq_file *seq)
static int
xprt_rdma_enable_swap(struct rpc_xprt *xprt)
{
static int
xprt_rdma_enable_swap(struct rpc_xprt *xprt)
{
- return
-EINVAL
;
+ return
0
;
}
static void
}
static void
@@
-705,7
+705,13
@@
static struct rpc_xprt_ops xprt_rdma_procs = {
.print_stats = xprt_rdma_print_stats,
.enable_swap = xprt_rdma_enable_swap,
.disable_swap = xprt_rdma_disable_swap,
.print_stats = xprt_rdma_print_stats,
.enable_swap = xprt_rdma_enable_swap,
.disable_swap = xprt_rdma_disable_swap,
- .inject_disconnect = xprt_rdma_inject_disconnect
+ .inject_disconnect = xprt_rdma_inject_disconnect,
+#if defined(CONFIG_SUNRPC_BACKCHANNEL)
+ .bc_setup = xprt_rdma_bc_setup,
+ .bc_up = xprt_rdma_bc_up,
+ .bc_free_rqst = xprt_rdma_bc_free_rqst,
+ .bc_destroy = xprt_rdma_bc_destroy,
+#endif
};
static struct xprt_class xprt_rdma = {
};
static struct xprt_class xprt_rdma = {
@@
-732,6
+738,7
@@
void xprt_rdma_cleanup(void)
dprintk("RPC: %s: xprt_unregister returned %i\n",
__func__, rc);
dprintk("RPC: %s: xprt_unregister returned %i\n",
__func__, rc);
+ rpcrdma_destroy_wq();
frwr_destroy_recovery_wq();
}
frwr_destroy_recovery_wq();
}
@@
-743,8
+750,15
@@
int xprt_rdma_init(void)
if (rc)
return rc;
if (rc)
return rc;
+ rc = rpcrdma_alloc_wq();
+ if (rc) {
+ frwr_destroy_recovery_wq();
+ return rc;
+ }
+
rc = xprt_register_transport(&xprt_rdma);
if (rc) {
rc = xprt_register_transport(&xprt_rdma);
if (rc) {
+ rpcrdma_destroy_wq();
frwr_destroy_recovery_wq();
return rc;
}
frwr_destroy_recovery_wq();
return rc;
}