This source file includes following definitions.
- svc_is_backchannel
- set_bc_enabled
- xprt_setup_backchannel
- xprt_destroy_backchannel
- svc_is_backchannel
- set_bc_enabled
- xprt_free_bc_request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #ifndef _LINUX_SUNRPC_BC_XPRT_H
28 #define _LINUX_SUNRPC_BC_XPRT_H
29
30 #include <linux/sunrpc/svcsock.h>
31 #include <linux/sunrpc/xprt.h>
32 #include <linux/sunrpc/sched.h>
33
34 #ifdef CONFIG_SUNRPC_BACKCHANNEL
35 struct rpc_rqst *xprt_lookup_bc_request(struct rpc_xprt *xprt, __be32 xid);
36 void xprt_complete_bc_request(struct rpc_rqst *req, uint32_t copied);
37 void xprt_init_bc_request(struct rpc_rqst *req, struct rpc_task *task);
38 void xprt_free_bc_request(struct rpc_rqst *req);
39 int xprt_setup_backchannel(struct rpc_xprt *, unsigned int min_reqs);
40 void xprt_destroy_backchannel(struct rpc_xprt *, unsigned int max_reqs);
41
42
43 int xprt_setup_bc(struct rpc_xprt *xprt, unsigned int min_reqs);
44 void xprt_destroy_bc(struct rpc_xprt *xprt, unsigned int max_reqs);
45 void xprt_free_bc_rqst(struct rpc_rqst *req);
46 unsigned int xprt_bc_max_slots(struct rpc_xprt *xprt);
47
48
49
50
51 static inline bool svc_is_backchannel(const struct svc_rqst *rqstp)
52 {
53 return rqstp->rq_server->sv_bc_enabled;
54 }
55
56 static inline void set_bc_enabled(struct svc_serv *serv)
57 {
58 serv->sv_bc_enabled = true;
59 }
60 #else
61 static inline int xprt_setup_backchannel(struct rpc_xprt *xprt,
62 unsigned int min_reqs)
63 {
64 return 0;
65 }
66
67 static inline void xprt_destroy_backchannel(struct rpc_xprt *xprt,
68 unsigned int max_reqs)
69 {
70 }
71
72 static inline bool svc_is_backchannel(const struct svc_rqst *rqstp)
73 {
74 return false;
75 }
76
77 static inline void set_bc_enabled(struct svc_serv *serv)
78 {
79 }
80
81 static inline void xprt_free_bc_request(struct rpc_rqst *req)
82 {
83 }
84 #endif
85 #endif
86