diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2018-02-28 15:30:54 -0500 |
|---|---|---|
| committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2018-04-10 16:06:22 -0400 |
| commit | fb14ae8853e4f0347950f98e604fa2f4f3b3abe1 (patch) | |
| tree | 734f67197f925ed212be6d3b4dea9757dd38bef6 /include/linux/sunrpc | |
| parent | ae741a855170fa97adabce7e48bdf9de71186a5f (diff) | |
xprtrdma: "Support" call-only RPCs
RPC-over-RDMA version 1 credit accounting relies on there being a
response message for every RPC Call. This means that RPC procedures
that have no reply will disrupt credit accounting, just in the same
way as a retransmit would (since it is sent because no reply has
arrived). Deal with the "no reply" case the same way.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'include/linux/sunrpc')
| -rw-r--r-- | include/linux/sunrpc/clnt.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/sunrpc/clnt.h b/include/linux/sunrpc/clnt.h index ed761f751ecb..9b11b6a0978c 100644 --- a/include/linux/sunrpc/clnt.h +++ b/include/linux/sunrpc/clnt.h | |||
| @@ -217,5 +217,12 @@ void rpc_clnt_xprt_switch_add_xprt(struct rpc_clnt *, struct rpc_xprt *); | |||
| 217 | bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt, | 217 | bool rpc_clnt_xprt_switch_has_addr(struct rpc_clnt *clnt, |
| 218 | const struct sockaddr *sap); | 218 | const struct sockaddr *sap); |
| 219 | void rpc_cleanup_clids(void); | 219 | void rpc_cleanup_clids(void); |
| 220 | |||
| 221 | static inline int rpc_reply_expected(struct rpc_task *task) | ||
| 222 | { | ||
| 223 | return (task->tk_msg.rpc_proc != NULL) && | ||
| 224 | (task->tk_msg.rpc_proc->p_decode != NULL); | ||
| 225 | } | ||
| 226 | |||
| 220 | #endif /* __KERNEL__ */ | 227 | #endif /* __KERNEL__ */ |
| 221 | #endif /* _LINUX_SUNRPC_CLNT_H */ | 228 | #endif /* _LINUX_SUNRPC_CLNT_H */ |
