diff --git a/include/trace/events/sunrpc.h b/include/trace/events/sunrpc.h index d51d16c7afd86d64b02092f0a8e4969b4ab5eaa2..ddc179b7a1052aa6c3fb9df408e3b5ad9e50d792 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 ab006b7b7ab81a9a14a01c6e9cff68f58e28def7..25dbfa9719482acef0e9d859c1172a04493f8869 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);