diff options
author | David Howells <dhowells@redhat.com> | 2016-09-06 22:19:51 +0100 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2016-09-07 16:34:40 +0100 |
commit | 5a42976d4fe5d7fddce133de995c742c87b1b7e3 (patch) | |
tree | 7d12902e3a9b0d54ebd6075950e0f8487646a6ea /net/rxrpc/conn_event.c | |
parent | e8d6bbb05aa5cb985c3661d0db4f858f1d251326 (diff) | |
download | lwn-5a42976d4fe5d7fddce133de995c742c87b1b7e3.tar.gz lwn-5a42976d4fe5d7fddce133de995c742c87b1b7e3.zip |
rxrpc: Add tracepoint for working out where aborts happen
Add a tracepoint for working out where local aborts happen. Each
tracepoint call is labelled with a 3-letter code so that they can be
distinguished - and the DATA sequence number is added too where available.
rxrpc_kernel_abort_call() also takes a 3-letter code so that AFS can
indicate the circumstances when it aborts a call.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'net/rxrpc/conn_event.c')
-rw-r--r-- | net/rxrpc/conn_event.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/rxrpc/conn_event.c b/net/rxrpc/conn_event.c index 9db90f4f768d..8c7938ba6a84 100644 --- a/net/rxrpc/conn_event.c +++ b/net/rxrpc/conn_event.c @@ -158,6 +158,11 @@ static void rxrpc_abort_calls(struct rxrpc_connection *conn, lockdep_is_held(&conn->channel_lock)); if (call) { rxrpc_see_call(call); + if (compl == RXRPC_CALL_LOCALLY_ABORTED) + trace_rxrpc_abort("CON", call->cid, + call->call_id, 0, + abort_code, error); + write_lock_bh(&call->state_lock); if (rxrpc_set_call_completion(call, compl, abort_code, error)) { @@ -167,6 +172,7 @@ static void rxrpc_abort_calls(struct rxrpc_connection *conn, write_unlock_bh(&call->state_lock); if (queue) rxrpc_queue_call(call); + } } |