SUNRPC: Add tracepoint for socket errors
authorTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 31 Dec 2013 18:39:22 +0000 (13:39 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Tue, 31 Dec 2013 19:02:46 +0000 (14:02 -0500)
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
include/trace/events/sunrpc.h
net/sunrpc/xprtsock.c

index d51d16c..ddc179b 100644 (file)
@@ -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);
index ab006b7..25dbfa9 100644 (file)
@@ -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);