diff options
author | Trond Myklebust <trond.myklebust@primarydata.com> | 2016-06-24 16:55:45 +0200 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2016-07-13 21:53:42 +0200 |
commit | 82ea2d7615309d755579d609ad9c11daea25d0cc (patch) | |
tree | 70e74dc49f8f0990b808cac0cb22eb178236d1a6 /net | |
parent | nfsd: Fix some indent inconsistancy (diff) | |
download | linux-82ea2d7615309d755579d609ad9c11daea25d0cc.tar.xz linux-82ea2d7615309d755579d609ad9c11daea25d0cc.zip |
SUNRPC: Add a tracepoint for server socket out-of-space conditions
Add a tracepoint to track when the processing of incoming RPC data gets
deferred due to out-of-space issues on the outgoing transport.
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/sunrpc/svc_xprt.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 4f01f63102ee..4d2189a562af 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c @@ -333,8 +333,12 @@ static bool svc_xprt_has_something_to_do(struct svc_xprt *xprt) { if (xprt->xpt_flags & ((1<<XPT_CONN)|(1<<XPT_CLOSE))) return true; - if (xprt->xpt_flags & ((1<<XPT_DATA)|(1<<XPT_DEFERRED))) - return xprt->xpt_ops->xpo_has_wspace(xprt); + if (xprt->xpt_flags & ((1<<XPT_DATA)|(1<<XPT_DEFERRED))) { + if (xprt->xpt_ops->xpo_has_wspace(xprt)) + return true; + trace_svc_xprt_no_write_space(xprt); + return false; + } return false; } |