summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2013-12-31 13:39:22 -0500
committerTrond Myklebust <trond.myklebust@primarydata.com>2013-12-31 14:02:46 -0500
commite8353c7682875329b8e70999e1652fd1bba8973d (patch)
tree2911c0e5c41d19de1f6c152f1398f91f689dfeae
parent2118071d3b0d57a03fad77885f4fdc364798aa87 (diff)
downloadlinux-e8353c7682875329b8e70999e1652fd1bba8973d.tar.gz
linux-e8353c7682875329b8e70999e1652fd1bba8973d.tar.bz2
linux-e8353c7682875329b8e70999e1652fd1bba8973d.zip
SUNRPC: Add tracepoint for socket errors
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
-rw-r--r--include/trace/events/sunrpc.h1
-rw-r--r--net/sunrpc/xprtsock.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h
index d51d16c7afd8..ddc179b7a105 100644
--- a/include/trace/events/sunrpc.h
+++ b/include/trace/events/sunrpc.h
@@ -301,6 +301,7 @@ DECLARE_EVENT_CLASS(xs_socket_event_done,
DEFINE_RPC_SOCKET_EVENT(rpc_socket_state_change);
DEFINE_RPC_SOCKET_EVENT_DONE(rpc_socket_connect);
+DEFINE_RPC_SOCKET_EVENT_DONE(rpc_socket_error);
DEFINE_RPC_SOCKET_EVENT_DONE(rpc_socket_reset_connection);
DEFINE_RPC_SOCKET_EVENT(rpc_socket_close);
DEFINE_RPC_SOCKET_EVENT(rpc_socket_shutdown);
diff --git a/net/sunrpc/xprtsock.c b/net/sunrpc/xprtsock.c
index ab006b7b7ab8..25dbfa971948 100644
--- a/net/sunrpc/xprtsock.c
+++ b/net/sunrpc/xprtsock.c
@@ -837,6 +837,7 @@ static void xs_error_report(struct sock *sk)
goto out;
dprintk("RPC: xs_error_report client %p, error=%d...\n",
xprt, -err);
+ trace_rpc_socket_error(xprt, sk->sk_socket, err);
xprt_wake_pending_tasks(xprt, err);
out:
read_unlock_bh(&sk->sk_callback_lock);