hc
2024-10-22 8ac6c7a54ed1b98d142dce24b11c6de6a1e239a5
kernel/net/sunrpc/xprtrdma/svc_rdma.c
....@@ -73,8 +73,6 @@
7373 atomic_t rdma_stat_sq_poll;
7474 atomic_t rdma_stat_sq_prod;
7575
76
-struct workqueue_struct *svc_rdma_wq;
77
-
7876 /*
7977 * This function implements reading and resetting an atomic_t stat
8078 * variable through read/write to a proc file. Any write to the file
....@@ -82,8 +80,7 @@
8280 * current value.
8381 */
8482 static int read_reset_stat(struct ctl_table *table, int write,
85
- void __user *buffer, size_t *lenp,
86
- loff_t *ppos)
83
+ void *buffer, size_t *lenp, loff_t *ppos)
8784 {
8885 atomic_t *stat = (atomic_t *)table->data;
8986
....@@ -105,8 +102,8 @@
105102 len -= *ppos;
106103 if (len > *lenp)
107104 len = *lenp;
108
- if (len && copy_to_user(buffer, str_buf, len))
109
- return -EFAULT;
105
+ if (len)
106
+ memcpy(buffer, str_buf, len);
110107 *lenp = len;
111108 *ppos += len;
112109 }
....@@ -230,14 +227,10 @@
230227 void svc_rdma_cleanup(void)
231228 {
232229 dprintk("SVCRDMA Module Removed, deregister RPC RDMA transport\n");
233
- destroy_workqueue(svc_rdma_wq);
234230 if (svcrdma_table_header) {
235231 unregister_sysctl_table(svcrdma_table_header);
236232 svcrdma_table_header = NULL;
237233 }
238
-#if defined(CONFIG_SUNRPC_BACKCHANNEL)
239
- svc_unreg_xprt_class(&svc_rdma_bc_class);
240
-#endif
241234 svc_unreg_xprt_class(&svc_rdma_class);
242235 }
243236
....@@ -249,18 +242,11 @@
249242 dprintk("\tmax_bc_requests : %u\n", svcrdma_max_bc_requests);
250243 dprintk("\tmax_inline : %d\n", svcrdma_max_req_size);
251244
252
- svc_rdma_wq = alloc_workqueue("svc_rdma", 0, 0);
253
- if (!svc_rdma_wq)
254
- return -ENOMEM;
255
-
256245 if (!svcrdma_table_header)
257246 svcrdma_table_header =
258247 register_sysctl_table(svcrdma_root_table);
259248
260249 /* Register RDMA with the SVC transport switch */
261250 svc_reg_xprt_class(&svc_rdma_class);
262
-#if defined(CONFIG_SUNRPC_BACKCHANNEL)
263
- svc_reg_xprt_class(&svc_rdma_bc_class);
264
-#endif
265251 return 0;
266252 }