diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2021-02-20 18:53:40 -0500 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2021-03-22 13:22:13 -0400 |
commit | e844d307d46cfa7e09cdb671941bfd5f1be86773 (patch) | |
tree | c5fad5b7c90452b8ca93f4ac1ec26337eca9df18 /include/linux/sunrpc | |
parent | c558d47596867ff1082fd7475b63670f63f7f5cf (diff) | |
download | linux-stable-e844d307d46cfa7e09cdb671941bfd5f1be86773.tar.gz linux-stable-e844d307d46cfa7e09cdb671941bfd5f1be86773.tar.bz2 linux-stable-e844d307d46cfa7e09cdb671941bfd5f1be86773.zip |
svcrdma: Add a "deferred close" helper
Refactor a bit of commonly used logic so that every site that wants
a close deferred to an nfsd thread does all the right things
(set_bit(XPT_CLOSE) then enqueue).
Also, once XPT_CLOSE is set on a transport, it is never cleared. If
XPT_CLOSE is already set, then the close is already being handled
and the enqueue can be skipped.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'include/linux/sunrpc')
-rw-r--r-- | include/linux/sunrpc/svc_xprt.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sunrpc/svc_xprt.h b/include/linux/sunrpc/svc_xprt.h index 92455e0d5244..34dacadfe517 100644 --- a/include/linux/sunrpc/svc_xprt.h +++ b/include/linux/sunrpc/svc_xprt.h @@ -143,6 +143,7 @@ struct svc_xprt *svc_find_xprt(struct svc_serv *serv, const char *xcl_name, int svc_xprt_names(struct svc_serv *serv, char *buf, const int buflen); void svc_add_new_perm_xprt(struct svc_serv *serv, struct svc_xprt *xprt); void svc_age_temp_xprts_now(struct svc_serv *, struct sockaddr *); +void svc_xprt_deferred_close(struct svc_xprt *xprt); static inline void svc_xprt_get(struct svc_xprt *xprt) { |