afs: Add some tracepoints
[linux-block.git] / include / trace / events / afs.h
CommitLineData
8e8d7f13
DH
1/* AFS tracepoints
2 *
3 * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved.
4 * Written by David Howells (dhowells@redhat.com)
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public Licence
8 * as published by the Free Software Foundation; either version
9 * 2 of the Licence, or (at your option) any later version.
10 */
11#undef TRACE_SYSTEM
12#define TRACE_SYSTEM afs
13
14#if !defined(_TRACE_AFS_H) || defined(TRACE_HEADER_MULTI_READ)
15#define _TRACE_AFS_H
16
17#include <linux/tracepoint.h>
18
19TRACE_EVENT(afs_recv_data,
20 TP_PROTO(struct afs_call *call, unsigned count, unsigned offset,
21 bool want_more, int ret),
22
23 TP_ARGS(call, count, offset, want_more, ret),
24
25 TP_STRUCT__entry(
26 __field(struct rxrpc_call *, rxcall )
27 __field(struct afs_call *, call )
28 __field(enum afs_call_state, state )
29 __field(unsigned int, count )
30 __field(unsigned int, offset )
31 __field(unsigned short, unmarshall )
32 __field(bool, want_more )
33 __field(int, ret )
34 ),
35
36 TP_fast_assign(
37 __entry->rxcall = call->rxcall;
38 __entry->call = call;
39 __entry->state = call->state;
40 __entry->unmarshall = call->unmarshall;
41 __entry->count = count;
42 __entry->offset = offset;
43 __entry->want_more = want_more;
44 __entry->ret = ret;
45 ),
46
47 TP_printk("c=%p ac=%p s=%u u=%u %u/%u wm=%u ret=%d",
48 __entry->rxcall,
49 __entry->call,
50 __entry->state, __entry->unmarshall,
51 __entry->offset, __entry->count,
52 __entry->want_more, __entry->ret)
53 );
54
55TRACE_EVENT(afs_notify_call,
56 TP_PROTO(struct rxrpc_call *rxcall, struct afs_call *call),
57
58 TP_ARGS(rxcall, call),
59
60 TP_STRUCT__entry(
61 __field(struct rxrpc_call *, rxcall )
62 __field(struct afs_call *, call )
63 __field(enum afs_call_state, state )
64 __field(unsigned short, unmarshall )
65 ),
66
67 TP_fast_assign(
68 __entry->rxcall = rxcall;
69 __entry->call = call;
70 __entry->state = call->state;
71 __entry->unmarshall = call->unmarshall;
72 ),
73
74 TP_printk("c=%p ac=%p s=%u u=%u",
75 __entry->rxcall,
76 __entry->call,
77 __entry->state, __entry->unmarshall)
78 );
79
80TRACE_EVENT(afs_cb_call,
81 TP_PROTO(struct afs_call *call),
82
83 TP_ARGS(call),
84
85 TP_STRUCT__entry(
86 __field(struct rxrpc_call *, rxcall )
87 __field(struct afs_call *, call )
88 __field(const char *, name )
89 __field(u32, op )
90 ),
91
92 TP_fast_assign(
93 __entry->rxcall = call->rxcall;
94 __entry->call = call;
95 __entry->name = call->type->name;
96 __entry->op = call->operation_ID;
97 ),
98
99 TP_printk("c=%p ac=%p %s o=%u",
100 __entry->rxcall,
101 __entry->call,
102 __entry->name,
103 __entry->op)
104 );
105
106#endif /* _TRACE_AFS_H */
107
108/* This part must be outside protection */
109#include <trace/define_trace.h>