xref: /openbmc/linux/fs/ocfs2/ocfs2_trace.h (revision 69fe5c43)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
280a9a84dSWengang Wang #undef TRACE_SYSTEM
380a9a84dSWengang Wang #define TRACE_SYSTEM ocfs2
480a9a84dSWengang Wang 
580a9a84dSWengang Wang #if !defined(_TRACE_OCFS2_H) || defined(TRACE_HEADER_MULTI_READ)
680a9a84dSWengang Wang #define _TRACE_OCFS2_H
780a9a84dSWengang Wang 
880a9a84dSWengang Wang #include <linux/tracepoint.h>
980a9a84dSWengang Wang 
10a09d09b8STao Ma DECLARE_EVENT_CLASS(ocfs2__int,
11a09d09b8STao Ma 	TP_PROTO(int num),
12a09d09b8STao Ma 	TP_ARGS(num),
13a09d09b8STao Ma 	TP_STRUCT__entry(
14a09d09b8STao Ma 		__field(int, num)
15a09d09b8STao Ma 	),
16a09d09b8STao Ma 	TP_fast_assign(
17a09d09b8STao Ma 		__entry->num = num;
18a09d09b8STao Ma 	),
19a09d09b8STao Ma 	TP_printk("%d", __entry->num)
20a09d09b8STao Ma );
21a09d09b8STao Ma 
22a09d09b8STao Ma #define DEFINE_OCFS2_INT_EVENT(name)	\
23a09d09b8STao Ma DEFINE_EVENT(ocfs2__int, name,	\
24a09d09b8STao Ma 	TP_PROTO(int num),	\
25a09d09b8STao Ma 	TP_ARGS(num))
26a09d09b8STao Ma 
27a04733d8STao Ma DECLARE_EVENT_CLASS(ocfs2__uint,
28a04733d8STao Ma 	TP_PROTO(unsigned int num),
29a04733d8STao Ma 	TP_ARGS(num),
30a04733d8STao Ma 	TP_STRUCT__entry(
31a04733d8STao Ma 		__field(	unsigned int,	num		)
32a04733d8STao Ma 	),
33a04733d8STao Ma 	TP_fast_assign(
34a04733d8STao Ma 		__entry->num	= 	num;
35a04733d8STao Ma 	),
36a04733d8STao Ma 	TP_printk("%u", __entry->num)
37a04733d8STao Ma );
38a04733d8STao Ma 
39a04733d8STao Ma #define DEFINE_OCFS2_UINT_EVENT(name)	\
40a04733d8STao Ma DEFINE_EVENT(ocfs2__uint, name,	\
41a04733d8STao Ma 	TP_PROTO(unsigned int num),	\
42a04733d8STao Ma 	TP_ARGS(num))
43a04733d8STao Ma 
442f73e135STao Ma DECLARE_EVENT_CLASS(ocfs2__ull,
452f73e135STao Ma 	TP_PROTO(unsigned long long blkno),
462f73e135STao Ma 	TP_ARGS(blkno),
472f73e135STao Ma 	TP_STRUCT__entry(
482f73e135STao Ma 		__field(unsigned long long, blkno)
492f73e135STao Ma 	),
502f73e135STao Ma 	TP_fast_assign(
512f73e135STao Ma 		__entry->blkno = blkno;
522f73e135STao Ma 	),
532f73e135STao Ma 	TP_printk("%llu", __entry->blkno)
542f73e135STao Ma );
552f73e135STao Ma 
562f73e135STao Ma #define DEFINE_OCFS2_ULL_EVENT(name)	\
572f73e135STao Ma DEFINE_EVENT(ocfs2__ull, name,	\
582f73e135STao Ma 	TP_PROTO(unsigned long long num),	\
592f73e135STao Ma 	TP_ARGS(num))
602f73e135STao Ma 
6132a42d39STao Ma DECLARE_EVENT_CLASS(ocfs2__pointer,
6232a42d39STao Ma 	TP_PROTO(void *pointer),
6332a42d39STao Ma 	TP_ARGS(pointer),
6432a42d39STao Ma 	TP_STRUCT__entry(
6532a42d39STao Ma 		__field(void *, pointer)
6632a42d39STao Ma 	),
6732a42d39STao Ma 	TP_fast_assign(
6832a42d39STao Ma 		__entry->pointer = pointer;
6932a42d39STao Ma 	),
7032a42d39STao Ma 	TP_printk("%p", __entry->pointer)
7132a42d39STao Ma );
7232a42d39STao Ma 
7332a42d39STao Ma #define DEFINE_OCFS2_POINTER_EVENT(name)	\
7432a42d39STao Ma DEFINE_EVENT(ocfs2__pointer, name,	\
7532a42d39STao Ma 	TP_PROTO(void *pointer),	\
7632a42d39STao Ma 	TP_ARGS(pointer))
7732a42d39STao Ma 
78402b4183STao Ma DECLARE_EVENT_CLASS(ocfs2__string,
79402b4183STao Ma 	TP_PROTO(const char *name),
80402b4183STao Ma 	TP_ARGS(name),
81402b4183STao Ma 	TP_STRUCT__entry(
82402b4183STao Ma 		__string(name,name)
83402b4183STao Ma 	),
84402b4183STao Ma 	TP_fast_assign(
85402b4183STao Ma 		__assign_str(name, name);
86402b4183STao Ma 	),
87402b4183STao Ma 	TP_printk("%s", __get_str(name))
88402b4183STao Ma );
89402b4183STao Ma 
90402b4183STao Ma #define DEFINE_OCFS2_STRING_EVENT(name)	\
91402b4183STao Ma DEFINE_EVENT(ocfs2__string, name,	\
92402b4183STao Ma 	TP_PROTO(const char *name),	\
93402b4183STao Ma 	TP_ARGS(name))
94402b4183STao Ma 
95a09d09b8STao Ma DECLARE_EVENT_CLASS(ocfs2__int_int,
96a09d09b8STao Ma 	TP_PROTO(int value1, int value2),
97a09d09b8STao Ma 	TP_ARGS(value1, value2),
98a09d09b8STao Ma 	TP_STRUCT__entry(
99a09d09b8STao Ma 		__field(int, value1)
100a09d09b8STao Ma 		__field(int, value2)
101a09d09b8STao Ma 	),
102a09d09b8STao Ma 	TP_fast_assign(
103a09d09b8STao Ma 		__entry->value1	= value1;
104a09d09b8STao Ma 		__entry->value2	= value2;
105a09d09b8STao Ma 	),
106a09d09b8STao Ma 	TP_printk("%d %d", __entry->value1, __entry->value2)
107a09d09b8STao Ma );
108a09d09b8STao Ma 
109a09d09b8STao Ma #define DEFINE_OCFS2_INT_INT_EVENT(name)	\
110a09d09b8STao Ma DEFINE_EVENT(ocfs2__int_int, name,	\
111a09d09b8STao Ma 	TP_PROTO(int val1, int val2),	\
112a09d09b8STao Ma 	TP_ARGS(val1, val2))
113a09d09b8STao Ma 
1141db986a8STao Ma DECLARE_EVENT_CLASS(ocfs2__uint_int,
1151db986a8STao Ma 	TP_PROTO(unsigned int value1, int value2),
1161db986a8STao Ma 	TP_ARGS(value1, value2),
1171db986a8STao Ma 	TP_STRUCT__entry(
1181db986a8STao Ma 		__field(unsigned int, value1)
1191db986a8STao Ma 		__field(int, value2)
1201db986a8STao Ma 	),
1211db986a8STao Ma 	TP_fast_assign(
1221db986a8STao Ma 		__entry->value1	= value1;
1231db986a8STao Ma 		__entry->value2	= value2;
1241db986a8STao Ma 	),
1251db986a8STao Ma 	TP_printk("%u %d", __entry->value1, __entry->value2)
1261db986a8STao Ma );
1271db986a8STao Ma 
1281db986a8STao Ma #define DEFINE_OCFS2_UINT_INT_EVENT(name)	\
1291db986a8STao Ma DEFINE_EVENT(ocfs2__uint_int, name,	\
1301db986a8STao Ma 	TP_PROTO(unsigned int val1, int val2),	\
1311db986a8STao Ma 	TP_ARGS(val1, val2))
1321db986a8STao Ma 
1332f73e135STao Ma DECLARE_EVENT_CLASS(ocfs2__uint_uint,
1342f73e135STao Ma 	TP_PROTO(unsigned int value1, unsigned int value2),
1352f73e135STao Ma 	TP_ARGS(value1, value2),
1362f73e135STao Ma 	TP_STRUCT__entry(
1372f73e135STao Ma 		__field(unsigned int, value1)
1382f73e135STao Ma 		__field(unsigned int, value2)
1392f73e135STao Ma 	),
1402f73e135STao Ma 	TP_fast_assign(
1412f73e135STao Ma 		__entry->value1 = value1;
1422f73e135STao Ma 		__entry->value2 = value2;
1432f73e135STao Ma 	),
1442f73e135STao Ma 	TP_printk("%u %u", __entry->value1, __entry->value2)
1452f73e135STao Ma );
1462f73e135STao Ma 
1472f73e135STao Ma #define DEFINE_OCFS2_UINT_UINT_EVENT(name)	\
1482f73e135STao Ma DEFINE_EVENT(ocfs2__uint_uint, name,	\
1492f73e135STao Ma 	TP_PROTO(unsigned int val1, unsigned int val2),	\
1502f73e135STao Ma 	TP_ARGS(val1, val2))
1512f73e135STao Ma 
152a09d09b8STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_uint,
153a09d09b8STao Ma 	TP_PROTO(unsigned long long value1, unsigned int value2),
154a09d09b8STao Ma 	TP_ARGS(value1, value2),
155a09d09b8STao Ma 	TP_STRUCT__entry(
156a09d09b8STao Ma 		__field(unsigned long long, value1)
157a09d09b8STao Ma 		__field(unsigned int, value2)
158a09d09b8STao Ma 	),
159a09d09b8STao Ma 	TP_fast_assign(
160a09d09b8STao Ma 		__entry->value1 = value1;
161a09d09b8STao Ma 		__entry->value2 = value2;
162a09d09b8STao Ma 	),
163a09d09b8STao Ma 	TP_printk("%llu %u", __entry->value1, __entry->value2)
164a09d09b8STao Ma );
165a09d09b8STao Ma 
166a09d09b8STao Ma #define DEFINE_OCFS2_ULL_UINT_EVENT(name)	\
167a09d09b8STao Ma DEFINE_EVENT(ocfs2__ull_uint, name,	\
168a09d09b8STao Ma 	TP_PROTO(unsigned long long val1, unsigned int val2),	\
169a09d09b8STao Ma 	TP_ARGS(val1, val2))
170a09d09b8STao Ma 
17164f3b269STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_int,
17264f3b269STao Ma 	TP_PROTO(unsigned long long value1, int value2),
17364f3b269STao Ma 	TP_ARGS(value1, value2),
17464f3b269STao Ma 	TP_STRUCT__entry(
17564f3b269STao Ma 		__field(unsigned long long, value1)
17664f3b269STao Ma 		__field(int, value2)
17764f3b269STao Ma 	),
17864f3b269STao Ma 	TP_fast_assign(
17964f3b269STao Ma 		__entry->value1	= value1;
18064f3b269STao Ma 		__entry->value2	= value2;
18164f3b269STao Ma 	),
18264f3b269STao Ma 	TP_printk("%llu %d", __entry->value1, __entry->value2)
18364f3b269STao Ma );
18464f3b269STao Ma 
18564f3b269STao Ma #define DEFINE_OCFS2_ULL_INT_EVENT(name)	\
18664f3b269STao Ma DEFINE_EVENT(ocfs2__ull_int, name,	\
18764f3b269STao Ma 	TP_PROTO(unsigned long long val1, int val2),	\
18864f3b269STao Ma 	TP_ARGS(val1, val2))
18964f3b269STao Ma 
1902f73e135STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_ull,
1912f73e135STao Ma 	TP_PROTO(unsigned long long value1, unsigned long long value2),
1922f73e135STao Ma 	TP_ARGS(value1, value2),
1932f73e135STao Ma 	TP_STRUCT__entry(
1942f73e135STao Ma 		__field(unsigned long long, value1)
1952f73e135STao Ma 		__field(unsigned long long, value2)
1962f73e135STao Ma 	),
1972f73e135STao Ma 	TP_fast_assign(
1982f73e135STao Ma 		__entry->value1 = value1;
1992f73e135STao Ma 		__entry->value2 = value2;
2002f73e135STao Ma 	),
2012f73e135STao Ma 	TP_printk("%llu %llu", __entry->value1, __entry->value2)
2022f73e135STao Ma );
2032f73e135STao Ma 
2042f73e135STao Ma #define DEFINE_OCFS2_ULL_ULL_EVENT(name)	\
2052f73e135STao Ma DEFINE_EVENT(ocfs2__ull_ull, name,	\
2062f73e135STao Ma 	TP_PROTO(unsigned long long val1, unsigned long long val2),	\
2072f73e135STao Ma 	TP_ARGS(val1, val2))
2082f73e135STao Ma 
209198aac28STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint,
210198aac28STao Ma 	TP_PROTO(unsigned long long value1,
211198aac28STao Ma 		 unsigned long long value2, unsigned int value3),
212198aac28STao Ma 	TP_ARGS(value1, value2, value3),
213198aac28STao Ma 	TP_STRUCT__entry(
214198aac28STao Ma 		__field(unsigned long long, value1)
215198aac28STao Ma 		__field(unsigned long long, value2)
216198aac28STao Ma 		__field(unsigned int, value3)
217198aac28STao Ma 	),
218198aac28STao Ma 	TP_fast_assign(
219198aac28STao Ma 		__entry->value1 = value1;
220198aac28STao Ma 		__entry->value2 = value2;
221198aac28STao Ma 		__entry->value3 = value3;
222198aac28STao Ma 	),
223198aac28STao Ma 	TP_printk("%llu %llu %u",
224198aac28STao Ma 		  __entry->value1, __entry->value2, __entry->value3)
225198aac28STao Ma );
226198aac28STao Ma 
227198aac28STao Ma #define DEFINE_OCFS2_ULL_ULL_UINT_EVENT(name)	\
228198aac28STao Ma DEFINE_EVENT(ocfs2__ull_ull_uint, name,	\
229198aac28STao Ma 	TP_PROTO(unsigned long long val1,	\
230198aac28STao Ma 		 unsigned long long val2, unsigned int val3),	\
231198aac28STao Ma 	TP_ARGS(val1, val2, val3))
232198aac28STao Ma 
2332f73e135STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint,
2342f73e135STao Ma 	TP_PROTO(unsigned long long value1,
2352f73e135STao Ma 		 unsigned int value2, unsigned int value3),
2362f73e135STao Ma 	TP_ARGS(value1, value2, value3),
2372f73e135STao Ma 	TP_STRUCT__entry(
2382f73e135STao Ma 		__field(unsigned long long, value1)
2392f73e135STao Ma 		__field(unsigned int, value2)
2402f73e135STao Ma 		__field(unsigned int, value3)
2412f73e135STao Ma 	),
2422f73e135STao Ma 	TP_fast_assign(
2432f73e135STao Ma 		__entry->value1 = value1;
2442f73e135STao Ma 		__entry->value2 = value2;
2452f73e135STao Ma 		__entry->value3	= value3;
2462f73e135STao Ma 	),
2472f73e135STao Ma 	TP_printk("%llu %u %u", __entry->value1,
2482f73e135STao Ma 		  __entry->value2, __entry->value3)
2492f73e135STao Ma );
2502f73e135STao Ma 
2512f73e135STao Ma #define DEFINE_OCFS2_ULL_UINT_UINT_EVENT(name)	\
2522f73e135STao Ma DEFINE_EVENT(ocfs2__ull_uint_uint, name,	\
2532f73e135STao Ma 	TP_PROTO(unsigned long long val1,	\
2542f73e135STao Ma 		 unsigned int val2, unsigned int val3),	\
2552f73e135STao Ma 	TP_ARGS(val1, val2, val3))
2562f73e135STao Ma 
257a04733d8STao Ma DECLARE_EVENT_CLASS(ocfs2__uint_uint_uint,
258a04733d8STao Ma 	TP_PROTO(unsigned int value1, unsigned int value2,
259a04733d8STao Ma 		 unsigned int value3),
260a04733d8STao Ma 	TP_ARGS(value1, value2, value3),
261a04733d8STao Ma 	TP_STRUCT__entry(
262a04733d8STao Ma 		__field(	unsigned int,	value1		)
263a04733d8STao Ma 		__field(	unsigned int,	value2		)
264a04733d8STao Ma 		__field(	unsigned int,	value3		)
265a04733d8STao Ma 	),
266a04733d8STao Ma 	TP_fast_assign(
267a04733d8STao Ma 		__entry->value1	= 	value1;
268a04733d8STao Ma 		__entry->value2	= 	value2;
269a04733d8STao Ma 		__entry->value3	= 	value3;
270a04733d8STao Ma 	),
271a04733d8STao Ma 	TP_printk("%u %u %u", __entry->value1, __entry->value2, __entry->value3)
272a04733d8STao Ma );
273a04733d8STao Ma 
274a04733d8STao Ma #define DEFINE_OCFS2_UINT_UINT_UINT_EVENT(name)	\
275a04733d8STao Ma DEFINE_EVENT(ocfs2__uint_uint_uint, name,	\
276a04733d8STao Ma 	TP_PROTO(unsigned int value1, unsigned int value2,	\
277a04733d8STao Ma 		 unsigned int value3),	\
278a04733d8STao Ma 	TP_ARGS(value1, value2, value3))
279a04733d8STao Ma 
280468eeddeSTao Ma DECLARE_EVENT_CLASS(ocfs2__ull_ull_ull,
281468eeddeSTao Ma 	TP_PROTO(unsigned long long value1,
282468eeddeSTao Ma 		 unsigned long long value2, unsigned long long value3),
283468eeddeSTao Ma 	TP_ARGS(value1, value2, value3),
284468eeddeSTao Ma 	TP_STRUCT__entry(
285468eeddeSTao Ma 		__field(unsigned long long, value1)
286468eeddeSTao Ma 		__field(unsigned long long, value2)
287468eeddeSTao Ma 		__field(unsigned long long, value3)
288468eeddeSTao Ma 	),
289468eeddeSTao Ma 	TP_fast_assign(
290468eeddeSTao Ma 		__entry->value1 = value1;
291468eeddeSTao Ma 		__entry->value2 = value2;
292468eeddeSTao Ma 		__entry->value3 = value3;
293468eeddeSTao Ma 	),
294468eeddeSTao Ma 	TP_printk("%llu %llu %llu",
295468eeddeSTao Ma 		  __entry->value1, __entry->value2, __entry->value3)
296468eeddeSTao Ma );
297468eeddeSTao Ma 
298468eeddeSTao Ma #define DEFINE_OCFS2_ULL_ULL_ULL_EVENT(name)	\
299468eeddeSTao Ma DEFINE_EVENT(ocfs2__ull_ull_ull, name,	\
300468eeddeSTao Ma 	TP_PROTO(unsigned long long value1, unsigned long long value2,	\
301468eeddeSTao Ma 		 unsigned long long value3),	\
302468eeddeSTao Ma 	TP_ARGS(value1, value2, value3))
303468eeddeSTao Ma 
304a04733d8STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_int_int_int,
305a04733d8STao Ma 	TP_PROTO(unsigned long long ull, int value1, int value2, int value3),
306a04733d8STao Ma 	TP_ARGS(ull, value1, value2, value3),
307a04733d8STao Ma 	TP_STRUCT__entry(
308a04733d8STao Ma 		__field(	unsigned long long,	ull	)
309a04733d8STao Ma 		__field(	int,	value1			)
310a04733d8STao Ma 		__field(	int,	value2			)
311a04733d8STao Ma 		__field(	int,	value3			)
312a04733d8STao Ma 	),
313a04733d8STao Ma 	TP_fast_assign(
314a04733d8STao Ma 		__entry->ull		= ull;
315a04733d8STao Ma 		__entry->value1		= value1;
316a04733d8STao Ma 		__entry->value2		= value2;
317a04733d8STao Ma 		__entry->value3		= value3;
318a04733d8STao Ma 	),
319a04733d8STao Ma 	TP_printk("%llu %d %d %d",
320a04733d8STao Ma 		  __entry->ull, __entry->value1,
321a04733d8STao Ma 		  __entry->value2, __entry->value3)
322a04733d8STao Ma );
323a04733d8STao Ma 
324a04733d8STao Ma #define DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(name)	\
325a04733d8STao Ma DEFINE_EVENT(ocfs2__ull_int_int_int, name,	\
326a04733d8STao Ma 	TP_PROTO(unsigned long long ull, int value1,	\
327a04733d8STao Ma 		 int value2, int value3),	\
328a04733d8STao Ma 	TP_ARGS(ull, value1, value2, value3))
329a04733d8STao Ma 
3302f73e135STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint_uint,
3312f73e135STao Ma 	TP_PROTO(unsigned long long ull, unsigned int value1,
3322f73e135STao Ma 		 unsigned int value2, unsigned int value3),
3332f73e135STao Ma 	TP_ARGS(ull, value1, value2, value3),
3342f73e135STao Ma 	TP_STRUCT__entry(
3352f73e135STao Ma 		__field(unsigned long long, ull)
3362f73e135STao Ma 		__field(unsigned int, value1)
3372f73e135STao Ma 		__field(unsigned int, value2)
3382f73e135STao Ma 		__field(unsigned int, value3)
3392f73e135STao Ma 	),
3402f73e135STao Ma 	TP_fast_assign(
3412f73e135STao Ma 		__entry->ull = ull;
3422f73e135STao Ma 		__entry->value1 = value1;
3432f73e135STao Ma 		__entry->value2	= value2;
3442f73e135STao Ma 		__entry->value3	= value3;
3452f73e135STao Ma 	),
3462f73e135STao Ma 	TP_printk("%llu %u %u %u",
3472f73e135STao Ma 		  __entry->ull, __entry->value1,
3482f73e135STao Ma 		  __entry->value2, __entry->value3)
3492f73e135STao Ma );
3502f73e135STao Ma 
3512f73e135STao Ma #define DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(name)	\
3522f73e135STao Ma DEFINE_EVENT(ocfs2__ull_uint_uint_uint, name,	\
3532f73e135STao Ma 	TP_PROTO(unsigned long long ull, unsigned int value1,	\
3542f73e135STao Ma 		 unsigned int value2, unsigned int value3),	\
3552f73e135STao Ma 	TP_ARGS(ull, value1, value2, value3))
3562f73e135STao Ma 
357402b4183STao Ma DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint_uint,
358402b4183STao Ma 	TP_PROTO(unsigned long long value1, unsigned long long value2,
359402b4183STao Ma 		 unsigned int value3, unsigned int value4),
360402b4183STao Ma 	TP_ARGS(value1, value2, value3, value4),
361402b4183STao Ma 	TP_STRUCT__entry(
362402b4183STao Ma 		__field(unsigned long long, value1)
363402b4183STao Ma 		__field(unsigned long long, value2)
364402b4183STao Ma 		__field(unsigned int, value3)
365402b4183STao Ma 		__field(unsigned int, value4)
366402b4183STao Ma 	),
367402b4183STao Ma 	TP_fast_assign(
368402b4183STao Ma 		__entry->value1 = value1;
369402b4183STao Ma 		__entry->value2 = value2;
370402b4183STao Ma 		__entry->value3 = value3;
371402b4183STao Ma 		__entry->value4 = value4;
372402b4183STao Ma 	),
373402b4183STao Ma 	TP_printk("%llu %llu %u %u",
374402b4183STao Ma 		  __entry->value1, __entry->value2,
375402b4183STao Ma 		  __entry->value3, __entry->value4)
376402b4183STao Ma );
377402b4183STao Ma 
378402b4183STao Ma #define DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(name)	\
379402b4183STao Ma DEFINE_EVENT(ocfs2__ull_ull_uint_uint, name,	\
380402b4183STao Ma 	TP_PROTO(unsigned long long ull, unsigned long long ull1,	\
381402b4183STao Ma 		 unsigned int value2, unsigned int value3),	\
382402b4183STao Ma 	TP_ARGS(ull, ull1, value2, value3))
383402b4183STao Ma 
384a09d09b8STao Ma /* Trace events for fs/ocfs2/alloc.c. */
385a09d09b8STao Ma DECLARE_EVENT_CLASS(ocfs2__btree_ops,
386a09d09b8STao Ma 	TP_PROTO(unsigned long long owner,\
387a09d09b8STao Ma 		 unsigned int value1, unsigned int value2),
388a09d09b8STao Ma 	TP_ARGS(owner, value1, value2),
389a09d09b8STao Ma 	TP_STRUCT__entry(
390a09d09b8STao Ma 		__field(unsigned long long, owner)
391a09d09b8STao Ma 		__field(unsigned int, value1)
392a09d09b8STao Ma 		__field(unsigned int, value2)
393a09d09b8STao Ma 	),
394a09d09b8STao Ma 	TP_fast_assign(
395a09d09b8STao Ma 		__entry->owner = owner;
396a09d09b8STao Ma 		__entry->value1 = value1;
397a09d09b8STao Ma 		__entry->value2	= value2;
398a09d09b8STao Ma 	),
399a09d09b8STao Ma 	TP_printk("%llu %u %u",
400a09d09b8STao Ma 		  __entry->owner, __entry->value1, __entry->value2)
401a09d09b8STao Ma );
402a09d09b8STao Ma 
403a09d09b8STao Ma #define DEFINE_OCFS2_BTREE_EVENT(name)	\
404a09d09b8STao Ma DEFINE_EVENT(ocfs2__btree_ops, name,	\
405a09d09b8STao Ma 	TP_PROTO(unsigned long long owner,	\
406a09d09b8STao Ma 		 unsigned int value1, unsigned int value2),	\
407a09d09b8STao Ma 	TP_ARGS(owner, value1, value2))
408a09d09b8STao Ma 
409a09d09b8STao Ma DEFINE_OCFS2_BTREE_EVENT(ocfs2_adjust_rightmost_branch);
410a09d09b8STao Ma 
411a09d09b8STao Ma DEFINE_OCFS2_BTREE_EVENT(ocfs2_rotate_tree_right);
412a09d09b8STao Ma 
413a09d09b8STao Ma DEFINE_OCFS2_BTREE_EVENT(ocfs2_append_rec_to_path);
414a09d09b8STao Ma 
415a09d09b8STao Ma DEFINE_OCFS2_BTREE_EVENT(ocfs2_insert_extent_start);
416a09d09b8STao Ma 
417a09d09b8STao Ma DEFINE_OCFS2_BTREE_EVENT(ocfs2_add_clusters_in_btree);
418a09d09b8STao Ma 
419a09d09b8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_num_free_extents);
420a09d09b8STao Ma 
421a09d09b8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_complete_edge_insert);
422a09d09b8STao Ma 
423a09d09b8STao Ma TRACE_EVENT(ocfs2_grow_tree,
424a09d09b8STao Ma 	TP_PROTO(unsigned long long owner, int depth),
425a09d09b8STao Ma 	TP_ARGS(owner, depth),
426a09d09b8STao Ma 	TP_STRUCT__entry(
427a09d09b8STao Ma 		__field(unsigned long long, owner)
428a09d09b8STao Ma 		__field(int, depth)
429a09d09b8STao Ma 	),
430a09d09b8STao Ma 	TP_fast_assign(
431a09d09b8STao Ma 		__entry->owner = owner;
432a09d09b8STao Ma 		__entry->depth = depth;
433a09d09b8STao Ma 	),
434a09d09b8STao Ma 	TP_printk("%llu %d", __entry->owner, __entry->depth)
435a09d09b8STao Ma );
436a09d09b8STao Ma 
437a09d09b8STao Ma TRACE_EVENT(ocfs2_rotate_subtree,
438a09d09b8STao Ma 	TP_PROTO(int subtree_root, unsigned long long blkno,
439a09d09b8STao Ma 		 int depth),
440a09d09b8STao Ma 	TP_ARGS(subtree_root, blkno, depth),
441a09d09b8STao Ma 	TP_STRUCT__entry(
442a09d09b8STao Ma 		__field(int, subtree_root)
443a09d09b8STao Ma 		__field(unsigned long long, blkno)
444a09d09b8STao Ma 		__field(int, depth)
445a09d09b8STao Ma 	),
446a09d09b8STao Ma 	TP_fast_assign(
447a09d09b8STao Ma 		__entry->subtree_root = subtree_root;
448a09d09b8STao Ma 		__entry->blkno = blkno;
449a09d09b8STao Ma 		__entry->depth = depth;
450a09d09b8STao Ma 	),
451a09d09b8STao Ma 	TP_printk("%d %llu %d", __entry->subtree_root,
452a09d09b8STao Ma 		  __entry->blkno, __entry->depth)
453a09d09b8STao Ma );
454a09d09b8STao Ma 
455a09d09b8STao Ma TRACE_EVENT(ocfs2_insert_extent,
456a09d09b8STao Ma 	TP_PROTO(unsigned int ins_appending, unsigned int ins_contig,
457a09d09b8STao Ma 		 int ins_contig_index, int free_records, int ins_tree_depth),
458a09d09b8STao Ma 	TP_ARGS(ins_appending, ins_contig, ins_contig_index, free_records,
459a09d09b8STao Ma 		ins_tree_depth),
460a09d09b8STao Ma 	TP_STRUCT__entry(
461a09d09b8STao Ma 		__field(unsigned int, ins_appending)
462a09d09b8STao Ma 		__field(unsigned int, ins_contig)
463a09d09b8STao Ma 		__field(int, ins_contig_index)
464a09d09b8STao Ma 		__field(int, free_records)
465a09d09b8STao Ma 		__field(int, ins_tree_depth)
466a09d09b8STao Ma 	),
467a09d09b8STao Ma 	TP_fast_assign(
468a09d09b8STao Ma 		__entry->ins_appending = ins_appending;
469a09d09b8STao Ma 		__entry->ins_contig = ins_contig;
470a09d09b8STao Ma 		__entry->ins_contig_index = ins_contig_index;
471a09d09b8STao Ma 		__entry->free_records = free_records;
472a09d09b8STao Ma 		__entry->ins_tree_depth = ins_tree_depth;
473a09d09b8STao Ma 	),
474a09d09b8STao Ma 	TP_printk("%u %u %d %d %d",
475a09d09b8STao Ma 		  __entry->ins_appending, __entry->ins_contig,
476a09d09b8STao Ma 		  __entry->ins_contig_index, __entry->free_records,
477a09d09b8STao Ma 		  __entry->ins_tree_depth)
478a09d09b8STao Ma );
479a09d09b8STao Ma 
480a09d09b8STao Ma TRACE_EVENT(ocfs2_split_extent,
481a09d09b8STao Ma 	TP_PROTO(int split_index, unsigned int c_contig_type,
482a09d09b8STao Ma 		 unsigned int c_has_empty_extent,
483a09d09b8STao Ma 		 unsigned int c_split_covers_rec),
484a09d09b8STao Ma 	TP_ARGS(split_index, c_contig_type,
485a09d09b8STao Ma 		c_has_empty_extent, c_split_covers_rec),
486a09d09b8STao Ma 	TP_STRUCT__entry(
487a09d09b8STao Ma 		__field(int, split_index)
488a09d09b8STao Ma 		__field(unsigned int, c_contig_type)
489a09d09b8STao Ma 		__field(unsigned int, c_has_empty_extent)
490a09d09b8STao Ma 		__field(unsigned int, c_split_covers_rec)
491a09d09b8STao Ma 	),
492a09d09b8STao Ma 	TP_fast_assign(
493a09d09b8STao Ma 		__entry->split_index = split_index;
494a09d09b8STao Ma 		__entry->c_contig_type = c_contig_type;
495a09d09b8STao Ma 		__entry->c_has_empty_extent = c_has_empty_extent;
496a09d09b8STao Ma 		__entry->c_split_covers_rec = c_split_covers_rec;
497a09d09b8STao Ma 	),
498a09d09b8STao Ma 	TP_printk("%d %u %u %u", __entry->split_index, __entry->c_contig_type,
499a09d09b8STao Ma 		  __entry->c_has_empty_extent, __entry->c_split_covers_rec)
500a09d09b8STao Ma );
501a09d09b8STao Ma 
502a09d09b8STao Ma TRACE_EVENT(ocfs2_remove_extent,
503a09d09b8STao Ma 	TP_PROTO(unsigned long long owner, unsigned int cpos,
504a09d09b8STao Ma 		 unsigned int len, int index,
505a09d09b8STao Ma 		 unsigned int e_cpos, unsigned int clusters),
506a09d09b8STao Ma 	TP_ARGS(owner, cpos, len, index, e_cpos, clusters),
507a09d09b8STao Ma 	TP_STRUCT__entry(
508a09d09b8STao Ma 		__field(unsigned long long, owner)
509a09d09b8STao Ma 		__field(unsigned int, cpos)
510a09d09b8STao Ma 		__field(unsigned int, len)
511a09d09b8STao Ma 		__field(int, index)
512a09d09b8STao Ma 		__field(unsigned int, e_cpos)
513a09d09b8STao Ma 		__field(unsigned int, clusters)
514a09d09b8STao Ma 	),
515a09d09b8STao Ma 	TP_fast_assign(
516a09d09b8STao Ma 		__entry->owner = owner;
517a09d09b8STao Ma 		__entry->cpos = cpos;
518a09d09b8STao Ma 		__entry->len = len;
519a09d09b8STao Ma 		__entry->index = index;
520a09d09b8STao Ma 		__entry->e_cpos = e_cpos;
521a09d09b8STao Ma 		__entry->clusters = clusters;
522a09d09b8STao Ma 	),
523a09d09b8STao Ma 	TP_printk("%llu %u %u %d %u %u",
524a09d09b8STao Ma 		  __entry->owner, __entry->cpos, __entry->len, __entry->index,
525a09d09b8STao Ma 		  __entry->e_cpos, __entry->clusters)
526a09d09b8STao Ma );
527a09d09b8STao Ma 
528a09d09b8STao Ma TRACE_EVENT(ocfs2_commit_truncate,
529a09d09b8STao Ma 	TP_PROTO(unsigned long long ino, unsigned int new_cpos,
530a09d09b8STao Ma 		 unsigned int clusters, unsigned int depth),
531a09d09b8STao Ma 	TP_ARGS(ino, new_cpos, clusters, depth),
532a09d09b8STao Ma 	TP_STRUCT__entry(
533a09d09b8STao Ma 		__field(unsigned long long, ino)
534a09d09b8STao Ma 		__field(unsigned int, new_cpos)
535a09d09b8STao Ma 		__field(unsigned int, clusters)
536a09d09b8STao Ma 		__field(unsigned int, depth)
537a09d09b8STao Ma 	),
538a09d09b8STao Ma 	TP_fast_assign(
539a09d09b8STao Ma 		__entry->ino = ino;
540a09d09b8STao Ma 		__entry->new_cpos = new_cpos;
541a09d09b8STao Ma 		__entry->clusters = clusters;
542a09d09b8STao Ma 		__entry->depth = depth;
543a09d09b8STao Ma 	),
544a09d09b8STao Ma 	TP_printk("%llu %u %u %u",
545a09d09b8STao Ma 		  __entry->ino, __entry->new_cpos,
546a09d09b8STao Ma 		  __entry->clusters, __entry->depth)
547a09d09b8STao Ma );
548a09d09b8STao Ma 
549a09d09b8STao Ma TRACE_EVENT(ocfs2_validate_extent_block,
550a09d09b8STao Ma 	TP_PROTO(unsigned long long blkno),
551a09d09b8STao Ma 	TP_ARGS(blkno),
552a09d09b8STao Ma 	TP_STRUCT__entry(
553a09d09b8STao Ma 		__field(unsigned long long, blkno)
554a09d09b8STao Ma 	),
555a09d09b8STao Ma 	TP_fast_assign(
556a09d09b8STao Ma 		__entry->blkno = blkno;
557a09d09b8STao Ma 	),
558a09d09b8STao Ma 	TP_printk("%llu ", __entry->blkno)
559a09d09b8STao Ma );
560a09d09b8STao Ma 
561a09d09b8STao Ma TRACE_EVENT(ocfs2_rotate_leaf,
562a09d09b8STao Ma 	TP_PROTO(unsigned int insert_cpos, int insert_index,
563a09d09b8STao Ma 		 int has_empty, int next_free,
564a09d09b8STao Ma 		 unsigned int l_count),
565a09d09b8STao Ma 	TP_ARGS(insert_cpos, insert_index, has_empty,
566a09d09b8STao Ma 		next_free, l_count),
567a09d09b8STao Ma 	TP_STRUCT__entry(
568a09d09b8STao Ma 		__field(unsigned int, insert_cpos)
569a09d09b8STao Ma 		__field(int, insert_index)
570a09d09b8STao Ma 		__field(int, has_empty)
571a09d09b8STao Ma 		__field(int, next_free)
572a09d09b8STao Ma 		__field(unsigned int, l_count)
573a09d09b8STao Ma 	),
574a09d09b8STao Ma 	TP_fast_assign(
575a09d09b8STao Ma 		__entry->insert_cpos = insert_cpos;
576a09d09b8STao Ma 		__entry->insert_index = insert_index;
577a09d09b8STao Ma 		__entry->has_empty = has_empty;
578a09d09b8STao Ma 		__entry->next_free = next_free;
579a09d09b8STao Ma 		__entry->l_count = l_count;
580a09d09b8STao Ma 	),
581a09d09b8STao Ma 	TP_printk("%u %d %d %d %u", __entry->insert_cpos,
582a09d09b8STao Ma 		  __entry->insert_index, __entry->has_empty,
583a09d09b8STao Ma 		  __entry->next_free, __entry->l_count)
584a09d09b8STao Ma );
585a09d09b8STao Ma 
586a09d09b8STao Ma TRACE_EVENT(ocfs2_add_clusters_in_btree_ret,
587a09d09b8STao Ma 	TP_PROTO(int status, int reason, int err),
588a09d09b8STao Ma 	TP_ARGS(status, reason, err),
589a09d09b8STao Ma 	TP_STRUCT__entry(
590a09d09b8STao Ma 		__field(int, status)
591a09d09b8STao Ma 		__field(int, reason)
592a09d09b8STao Ma 		__field(int, err)
593a09d09b8STao Ma 	),
594a09d09b8STao Ma 	TP_fast_assign(
595a09d09b8STao Ma 		__entry->status = status;
596a09d09b8STao Ma 		__entry->reason = reason;
597a09d09b8STao Ma 		__entry->err = err;
598a09d09b8STao Ma 	),
599a09d09b8STao Ma 	TP_printk("%d %d %d", __entry->status,
600a09d09b8STao Ma 		  __entry->reason, __entry->err)
601a09d09b8STao Ma );
602a09d09b8STao Ma 
603a09d09b8STao Ma TRACE_EVENT(ocfs2_mark_extent_written,
604a09d09b8STao Ma 	TP_PROTO(unsigned long long owner, unsigned int cpos,
605a09d09b8STao Ma 		 unsigned int len, unsigned int phys),
606a09d09b8STao Ma 	TP_ARGS(owner, cpos, len, phys),
607a09d09b8STao Ma 	TP_STRUCT__entry(
608a09d09b8STao Ma 		__field(unsigned long long, owner)
609a09d09b8STao Ma 		__field(unsigned int, cpos)
610a09d09b8STao Ma 		__field(unsigned int, len)
611a09d09b8STao Ma 		__field(unsigned int, phys)
612a09d09b8STao Ma 	),
613a09d09b8STao Ma 	TP_fast_assign(
614a09d09b8STao Ma 		__entry->owner = owner;
615a09d09b8STao Ma 		__entry->cpos = cpos;
616a09d09b8STao Ma 		__entry->len = len;
617a09d09b8STao Ma 		__entry->phys = phys;
618a09d09b8STao Ma 	),
619a09d09b8STao Ma 	TP_printk("%llu %u %u %u",
620a09d09b8STao Ma 		  __entry->owner, __entry->cpos,
621a09d09b8STao Ma 		  __entry->len, __entry->phys)
622a09d09b8STao Ma );
623a09d09b8STao Ma 
624a09d09b8STao Ma DECLARE_EVENT_CLASS(ocfs2__truncate_log_ops,
625a09d09b8STao Ma 	TP_PROTO(unsigned long long blkno, int index,
626a09d09b8STao Ma 		 unsigned int start, unsigned int num),
627a09d09b8STao Ma 	TP_ARGS(blkno, index, start, num),
628a09d09b8STao Ma 	TP_STRUCT__entry(
629a09d09b8STao Ma 		__field(unsigned long long, blkno)
630a09d09b8STao Ma 		__field(int, index)
631a09d09b8STao Ma 		__field(unsigned int, start)
632a09d09b8STao Ma 		__field(unsigned int, num)
633a09d09b8STao Ma 	),
634a09d09b8STao Ma 	TP_fast_assign(
635a09d09b8STao Ma 		__entry->blkno = blkno;
636a09d09b8STao Ma 		__entry->index = index;
637a09d09b8STao Ma 		__entry->start = start;
638a09d09b8STao Ma 		__entry->num = num;
639a09d09b8STao Ma 	),
640a09d09b8STao Ma 	TP_printk("%llu %d %u %u",
641a09d09b8STao Ma 		  __entry->blkno, __entry->index,
642a09d09b8STao Ma 		  __entry->start, __entry->num)
643a09d09b8STao Ma );
644a09d09b8STao Ma 
645a09d09b8STao Ma #define DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(name)	\
646a09d09b8STao Ma DEFINE_EVENT(ocfs2__truncate_log_ops, name,	\
647a09d09b8STao Ma 	TP_PROTO(unsigned long long blkno, int index,	\
648a09d09b8STao Ma 		 unsigned int start, unsigned int num),	\
649a09d09b8STao Ma 	TP_ARGS(blkno, index, start, num))
650a09d09b8STao Ma 
651a09d09b8STao Ma DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_truncate_log_append);
652a09d09b8STao Ma 
653a09d09b8STao Ma DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_replay_truncate_records);
654a09d09b8STao Ma 
655a09d09b8STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_flush_truncate_log);
656a09d09b8STao Ma 
657a09d09b8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_begin_truncate_log_recovery);
658a09d09b8STao Ma 
659a09d09b8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_truncate_log_recovery_num);
660a09d09b8STao Ma 
661a09d09b8STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_complete_truncate_log_recovery);
662a09d09b8STao Ma 
663a09d09b8STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_free_cached_blocks);
664a09d09b8STao Ma 
665a09d09b8STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_cache_cluster_dealloc);
666a09d09b8STao Ma 
667a09d09b8STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_run_deallocs);
668a09d09b8STao Ma 
669a09d09b8STao Ma TRACE_EVENT(ocfs2_cache_block_dealloc,
670a09d09b8STao Ma 	TP_PROTO(int type, int slot, unsigned long long suballoc,
671a09d09b8STao Ma 		 unsigned long long blkno, unsigned int bit),
672a09d09b8STao Ma 	TP_ARGS(type, slot, suballoc, blkno, bit),
673a09d09b8STao Ma 	TP_STRUCT__entry(
674a09d09b8STao Ma 		__field(int, type)
675a09d09b8STao Ma 		__field(int, slot)
676a09d09b8STao Ma 		__field(unsigned long long, suballoc)
677a09d09b8STao Ma 		__field(unsigned long long, blkno)
678a09d09b8STao Ma 		__field(unsigned int, bit)
679a09d09b8STao Ma 	),
680a09d09b8STao Ma 	TP_fast_assign(
681a09d09b8STao Ma 		__entry->type = type;
682a09d09b8STao Ma 		__entry->slot = slot;
683a09d09b8STao Ma 		__entry->suballoc = suballoc;
684a09d09b8STao Ma 		__entry->blkno = blkno;
685a09d09b8STao Ma 		__entry->bit = bit;
686a09d09b8STao Ma 	),
687a09d09b8STao Ma 	TP_printk("%d %d %llu %llu %u",
688a09d09b8STao Ma 		  __entry->type, __entry->slot, __entry->suballoc,
689a09d09b8STao Ma 		  __entry->blkno, __entry->bit)
690a09d09b8STao Ma );
691a09d09b8STao Ma 
69210fca35fSTao Ma TRACE_EVENT(ocfs2_trim_extent,
69310fca35fSTao Ma 	TP_PROTO(struct super_block *sb, unsigned long long blk,
69410fca35fSTao Ma 		 unsigned long long count),
69510fca35fSTao Ma 	TP_ARGS(sb, blk, count),
69610fca35fSTao Ma 	TP_STRUCT__entry(
69710fca35fSTao Ma 		__field(int, dev_major)
69810fca35fSTao Ma 		__field(int, dev_minor)
69910fca35fSTao Ma 		__field(unsigned long long, blk)
70010fca35fSTao Ma 		__field(__u64,	count)
70110fca35fSTao Ma 	),
70210fca35fSTao Ma 	TP_fast_assign(
70310fca35fSTao Ma 		__entry->dev_major = MAJOR(sb->s_dev);
70410fca35fSTao Ma 		__entry->dev_minor = MINOR(sb->s_dev);
70510fca35fSTao Ma 		__entry->blk = blk;
70610fca35fSTao Ma 		__entry->count = count;
70710fca35fSTao Ma 	),
70810fca35fSTao Ma 	TP_printk("%d %d %llu %llu",
70910fca35fSTao Ma 		  __entry->dev_major, __entry->dev_minor,
71010fca35fSTao Ma 		  __entry->blk, __entry->count)
71110fca35fSTao Ma );
71210fca35fSTao Ma 
71310fca35fSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_trim_group);
71410fca35fSTao Ma 
7155500ab4eSGang He DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_trim_mainbm);
7165500ab4eSGang He 
71710fca35fSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_trim_fs);
71810fca35fSTao Ma 
719a09d09b8STao Ma /* End of trace events for fs/ocfs2/alloc.c. */
72080a9a84dSWengang Wang 
721a04733d8STao Ma /* Trace events for fs/ocfs2/localalloc.c. */
722a04733d8STao Ma 
723a04733d8STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_la_set_sizes);
724a04733d8STao Ma 
725a04733d8STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_alloc_should_use_local);
726a04733d8STao Ma 
727a04733d8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_load_local_alloc);
728a04733d8STao Ma 
729a04733d8STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_begin_local_alloc_recovery);
730a04733d8STao Ma 
731a04733d8STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_reserve_local_alloc_bits);
732a04733d8STao Ma 
733a04733d8STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_local_alloc_count_bits);
734a04733d8STao Ma 
735a04733d8STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits_search_bitmap);
736a04733d8STao Ma 
737a04733d8STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits);
738a04733d8STao Ma 
739a04733d8STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_sync_local_to_main);
740a04733d8STao Ma 
741a04733d8STao Ma TRACE_EVENT(ocfs2_sync_local_to_main_free,
742a04733d8STao Ma 	TP_PROTO(int count, int bit, unsigned long long start_blk,
743a04733d8STao Ma 		 unsigned long long blkno),
744a04733d8STao Ma 	TP_ARGS(count, bit, start_blk, blkno),
745a04733d8STao Ma 	TP_STRUCT__entry(
746a04733d8STao Ma 		__field(int, count)
747a04733d8STao Ma 		__field(int, bit)
748a04733d8STao Ma 		__field(unsigned long long, start_blk)
749a04733d8STao Ma 		__field(unsigned long long, blkno)
750a04733d8STao Ma 	),
751a04733d8STao Ma 	TP_fast_assign(
752a04733d8STao Ma 		__entry->count = count;
753a04733d8STao Ma 		__entry->bit = bit;
754a04733d8STao Ma 		__entry->start_blk = start_blk;
755a04733d8STao Ma 		__entry->blkno = blkno;
756a04733d8STao Ma 	),
757a04733d8STao Ma 	TP_printk("%d %d %llu %llu",
758a04733d8STao Ma 		  __entry->count, __entry->bit, __entry->start_blk,
759a04733d8STao Ma 		  __entry->blkno)
760a04733d8STao Ma );
761a04733d8STao Ma 
762a04733d8STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_new_window);
763a04733d8STao Ma 
764a04733d8STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_local_alloc_new_window_result);
765a04733d8STao Ma 
766a04733d8STao Ma /* End of trace events for fs/ocfs2/localalloc.c. */
7672f73e135STao Ma 
768a5438702STao Ma /* Trace events for fs/ocfs2/resize.c. */
769a5438702STao Ma 
770a5438702STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_update_last_group_and_inode);
771a5438702STao Ma 
772a5438702STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_group_extend);
773a5438702STao Ma 
774a5438702STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_group_add);
775a5438702STao Ma 
776a5438702STao Ma /* End of trace events for fs/ocfs2/resize.c. */
777a5438702STao Ma 
7782f73e135STao Ma /* Trace events for fs/ocfs2/suballoc.c. */
7792f73e135STao Ma 
7802f73e135STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_group_descriptor);
7812f73e135STao Ma 
7822f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_contig);
7832f73e135STao Ma 
7842f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_discontig);
7852f73e135STao Ma 
7862f73e135STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_block_group_alloc);
7872f73e135STao Ma 
7882f73e135STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_nospc);
7892f73e135STao Ma 
7902f73e135STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_no_new_group);
7912f73e135STao Ma 
7922f73e135STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_reserve_new_inode_new_group);
7932f73e135STao Ma 
7942f73e135STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_set_bits);
7952f73e135STao Ma 
7962f73e135STao Ma TRACE_EVENT(ocfs2_relink_block_group,
7972f73e135STao Ma 	TP_PROTO(unsigned long long i_blkno, unsigned int chain,
7982f73e135STao Ma 		 unsigned long long bg_blkno,
7992f73e135STao Ma 		 unsigned long long prev_blkno),
8002f73e135STao Ma 	TP_ARGS(i_blkno, chain, bg_blkno, prev_blkno),
8012f73e135STao Ma 	TP_STRUCT__entry(
8022f73e135STao Ma 		__field(unsigned long long, i_blkno)
8032f73e135STao Ma 		__field(unsigned int, chain)
8042f73e135STao Ma 		__field(unsigned long long, bg_blkno)
8052f73e135STao Ma 		__field(unsigned long long, prev_blkno)
8062f73e135STao Ma 	),
8072f73e135STao Ma 	TP_fast_assign(
8082f73e135STao Ma 		__entry->i_blkno = i_blkno;
8092f73e135STao Ma 		__entry->chain = chain;
8102f73e135STao Ma 		__entry->bg_blkno = bg_blkno;
8112f73e135STao Ma 		__entry->prev_blkno = prev_blkno;
8122f73e135STao Ma 	),
8132f73e135STao Ma 	TP_printk("%llu %u %llu %llu",
8142f73e135STao Ma 		  __entry->i_blkno, __entry->chain, __entry->bg_blkno,
8152f73e135STao Ma 		  __entry->prev_blkno)
8162f73e135STao Ma );
8172f73e135STao Ma 
8182f73e135STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_cluster_group_search_wrong_max_bits);
8192f73e135STao Ma 
8202f73e135STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cluster_group_search_max_block);
8212f73e135STao Ma 
8222f73e135STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_block_group_search_max_block);
8232f73e135STao Ma 
8242f73e135STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_search_chain_begin);
8252f73e135STao Ma 
8262f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_succ);
8272f73e135STao Ma 
8282f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_end);
8292f73e135STao Ma 
8302f73e135STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_claim_suballoc_bits);
8312f73e135STao Ma 
8322f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_claim_new_inode_at_loc);
8332f73e135STao Ma 
8342f73e135STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_clear_bits);
8352f73e135STao Ma 
8362f73e135STao Ma TRACE_EVENT(ocfs2_free_suballoc_bits,
8372f73e135STao Ma 	TP_PROTO(unsigned long long inode, unsigned long long group,
8382f73e135STao Ma 		 unsigned int start_bit, unsigned int count),
8392f73e135STao Ma 	TP_ARGS(inode, group, start_bit, count),
8402f73e135STao Ma 	TP_STRUCT__entry(
8412f73e135STao Ma 		__field(unsigned long long, inode)
8422f73e135STao Ma 		__field(unsigned long long, group)
8432f73e135STao Ma 		__field(unsigned int, start_bit)
8442f73e135STao Ma 		__field(unsigned int, count)
8452f73e135STao Ma 	),
8462f73e135STao Ma 	TP_fast_assign(
8472f73e135STao Ma 		__entry->inode = inode;
8482f73e135STao Ma 		__entry->group = group;
8492f73e135STao Ma 		__entry->start_bit = start_bit;
8502f73e135STao Ma 		__entry->count = count;
8512f73e135STao Ma 	),
8522f73e135STao Ma 	TP_printk("%llu %llu %u %u", __entry->inode, __entry->group,
8532f73e135STao Ma 		  __entry->start_bit, __entry->count)
8542f73e135STao Ma );
8552f73e135STao Ma 
8562f73e135STao Ma TRACE_EVENT(ocfs2_free_clusters,
8572f73e135STao Ma 	TP_PROTO(unsigned long long bg_blkno, unsigned long long start_blk,
8582f73e135STao Ma 		 unsigned int start_bit, unsigned int count),
8592f73e135STao Ma 	TP_ARGS(bg_blkno, start_blk, start_bit, count),
8602f73e135STao Ma 	TP_STRUCT__entry(
8612f73e135STao Ma 		__field(unsigned long long, bg_blkno)
8622f73e135STao Ma 		__field(unsigned long long, start_blk)
8632f73e135STao Ma 		__field(unsigned int, start_bit)
8642f73e135STao Ma 		__field(unsigned int, count)
8652f73e135STao Ma 	),
8662f73e135STao Ma 	TP_fast_assign(
8672f73e135STao Ma 		__entry->bg_blkno = bg_blkno;
8682f73e135STao Ma 		__entry->start_blk = start_blk;
8692f73e135STao Ma 		__entry->start_bit = start_bit;
8702f73e135STao Ma 		__entry->count = count;
8712f73e135STao Ma 	),
8722f73e135STao Ma 	TP_printk("%llu %llu %u %u", __entry->bg_blkno, __entry->start_blk,
8732f73e135STao Ma 		  __entry->start_bit, __entry->count)
8742f73e135STao Ma );
8752f73e135STao Ma 
8762f73e135STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_get_suballoc_slot_bit);
8772f73e135STao Ma 
8782f73e135STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_test_suballoc_bit);
8792f73e135STao Ma 
8802f73e135STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_test_inode_bit);
8812f73e135STao Ma 
8822f73e135STao Ma /* End of trace events for fs/ocfs2/suballoc.c. */
883198aac28STao Ma 
884198aac28STao Ma /* Trace events for fs/ocfs2/refcounttree.c. */
885198aac28STao Ma 
886198aac28STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_refcount_block);
887198aac28STao Ma 
888198aac28STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_refcount_trees);
889198aac28STao Ma 
890198aac28STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree);
891198aac28STao Ma 
892198aac28STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree_blkno);
893198aac28STao Ma 
894198aac28STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_change_refcount_rec);
895198aac28STao Ma 
896198aac28STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_expand_inline_ref_root);
897198aac28STao Ma 
898198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_divide_leaf_refcount_block);
899198aac28STao Ma 
900198aac28STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_new_leaf_refcount_block);
901198aac28STao Ma 
902198aac28STao Ma DECLARE_EVENT_CLASS(ocfs2__refcount_tree_ops,
903198aac28STao Ma 	TP_PROTO(unsigned long long blkno, int index,
904198aac28STao Ma 		 unsigned long long cpos,
905198aac28STao Ma 		 unsigned int clusters, unsigned int refcount),
906198aac28STao Ma 	TP_ARGS(blkno, index, cpos, clusters, refcount),
907198aac28STao Ma 	TP_STRUCT__entry(
908198aac28STao Ma 		__field(unsigned long long, blkno)
909198aac28STao Ma 		__field(int, index)
910198aac28STao Ma 		__field(unsigned long long, cpos)
911198aac28STao Ma 		__field(unsigned int, clusters)
912198aac28STao Ma 		__field(unsigned int, refcount)
913198aac28STao Ma 	),
914198aac28STao Ma 	TP_fast_assign(
915198aac28STao Ma 		__entry->blkno = blkno;
916198aac28STao Ma 		__entry->index = index;
917198aac28STao Ma 		__entry->cpos = cpos;
918198aac28STao Ma 		__entry->clusters = clusters;
919198aac28STao Ma 		__entry->refcount = refcount;
920198aac28STao Ma 	),
921198aac28STao Ma 	TP_printk("%llu %d %llu %u %u", __entry->blkno, __entry->index,
922198aac28STao Ma 		  __entry->cpos, __entry->clusters, __entry->refcount)
923198aac28STao Ma );
924198aac28STao Ma 
925198aac28STao Ma #define DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(name)	\
926198aac28STao Ma DEFINE_EVENT(ocfs2__refcount_tree_ops, name,		\
927198aac28STao Ma 	TP_PROTO(unsigned long long blkno, int index,	\
928198aac28STao Ma 		 unsigned long long cpos,		\
929198aac28STao Ma 		 unsigned int count, unsigned int refcount),	\
930198aac28STao Ma 	TP_ARGS(blkno, index, cpos, count, refcount))
931198aac28STao Ma 
932198aac28STao Ma DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_insert_refcount_rec);
933198aac28STao Ma 
934198aac28STao Ma TRACE_EVENT(ocfs2_split_refcount_rec,
935198aac28STao Ma 	TP_PROTO(unsigned long long cpos,
936198aac28STao Ma 		 unsigned int clusters, unsigned int refcount,
937198aac28STao Ma 		 unsigned long long split_cpos,
938198aac28STao Ma 		 unsigned int split_clusters, unsigned int split_refcount),
939198aac28STao Ma 	TP_ARGS(cpos, clusters, refcount,
940198aac28STao Ma 		split_cpos, split_clusters, split_refcount),
941198aac28STao Ma 	TP_STRUCT__entry(
942198aac28STao Ma 		__field(unsigned long long, cpos)
943198aac28STao Ma 		__field(unsigned int, clusters)
944198aac28STao Ma 		__field(unsigned int, refcount)
945198aac28STao Ma 		__field(unsigned long long, split_cpos)
946198aac28STao Ma 		__field(unsigned int, split_clusters)
947198aac28STao Ma 		__field(unsigned int, split_refcount)
948198aac28STao Ma 	),
949198aac28STao Ma 	TP_fast_assign(
950198aac28STao Ma 		__entry->cpos = cpos;
951198aac28STao Ma 		__entry->clusters = clusters;
952198aac28STao Ma 		__entry->refcount = refcount;
953198aac28STao Ma 		__entry->split_cpos = split_cpos;
954198aac28STao Ma 		__entry->split_clusters = split_clusters;
955198aac28STao Ma 		__entry->split_refcount	= split_refcount;
956198aac28STao Ma 	),
957198aac28STao Ma 	TP_printk("%llu %u %u %llu %u %u",
958198aac28STao Ma 		  __entry->cpos, __entry->clusters, __entry->refcount,
959198aac28STao Ma 		  __entry->split_cpos, __entry->split_clusters,
960198aac28STao Ma 		  __entry->split_refcount)
961198aac28STao Ma );
962198aac28STao Ma 
963198aac28STao Ma DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_split_refcount_rec_insert);
964198aac28STao Ma 
965198aac28STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_increase_refcount_begin);
966198aac28STao Ma 
967198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_change);
968198aac28STao Ma 
969198aac28STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_increase_refcount_insert);
970198aac28STao Ma 
971198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_split);
972198aac28STao Ma 
973198aac28STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_remove_refcount_extent);
974198aac28STao Ma 
975198aac28STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_restore_refcount_block);
976198aac28STao Ma 
977198aac28STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_decrease_refcount_rec);
978198aac28STao Ma 
979198aac28STao Ma TRACE_EVENT(ocfs2_decrease_refcount,
980198aac28STao Ma 	TP_PROTO(unsigned long long owner,
981198aac28STao Ma 		 unsigned long long cpos,
982198aac28STao Ma 		 unsigned int len, int delete),
983198aac28STao Ma 	TP_ARGS(owner, cpos, len, delete),
984198aac28STao Ma 	TP_STRUCT__entry(
985198aac28STao Ma 		__field(unsigned long long, owner)
986198aac28STao Ma 		__field(unsigned long long, cpos)
987198aac28STao Ma 		__field(unsigned int, len)
988198aac28STao Ma 		__field(int, delete)
989198aac28STao Ma 	),
990198aac28STao Ma 	TP_fast_assign(
991198aac28STao Ma 		__entry->owner = owner;
992198aac28STao Ma 		__entry->cpos = cpos;
993198aac28STao Ma 		__entry->len = len;
994198aac28STao Ma 		__entry->delete = delete;
995198aac28STao Ma 	),
996198aac28STao Ma 	TP_printk("%llu %llu %u %d",
997198aac28STao Ma 		  __entry->owner, __entry->cpos, __entry->len, __entry->delete)
998198aac28STao Ma );
999198aac28STao Ma 
1000198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_mark_extent_refcounted);
1001198aac28STao Ma 
1002198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_calc_refcount_meta_credits);
1003198aac28STao Ma 
1004198aac28STao Ma TRACE_EVENT(ocfs2_calc_refcount_meta_credits_iterate,
1005198aac28STao Ma 	TP_PROTO(int recs_add, unsigned long long cpos,
1006198aac28STao Ma 		 unsigned int clusters, unsigned long long r_cpos,
1007198aac28STao Ma 		 unsigned int r_clusters, unsigned int refcount, int index),
1008198aac28STao Ma 	TP_ARGS(recs_add, cpos, clusters, r_cpos, r_clusters, refcount, index),
1009198aac28STao Ma 	TP_STRUCT__entry(
1010198aac28STao Ma 		__field(int, recs_add)
1011198aac28STao Ma 		__field(unsigned long long, cpos)
1012198aac28STao Ma 		__field(unsigned int, clusters)
1013198aac28STao Ma 		__field(unsigned long long, r_cpos)
1014198aac28STao Ma 		__field(unsigned int, r_clusters)
1015198aac28STao Ma 		__field(unsigned int, refcount)
1016198aac28STao Ma 		__field(int, index)
1017198aac28STao Ma 	),
1018198aac28STao Ma 	TP_fast_assign(
1019198aac28STao Ma 		__entry->recs_add = recs_add;
1020198aac28STao Ma 		__entry->cpos = cpos;
1021198aac28STao Ma 		__entry->clusters = clusters;
1022198aac28STao Ma 		__entry->r_cpos = r_cpos;
1023198aac28STao Ma 		__entry->r_clusters = r_clusters;
1024198aac28STao Ma 		__entry->refcount = refcount;
1025198aac28STao Ma 		__entry->index = index;
1026198aac28STao Ma 	),
1027198aac28STao Ma 	TP_printk("%d %llu %u %llu %u %u %d",
1028198aac28STao Ma 		  __entry->recs_add, __entry->cpos, __entry->clusters,
1029198aac28STao Ma 		  __entry->r_cpos, __entry->r_clusters,
1030198aac28STao Ma 		  __entry->refcount, __entry->index)
1031198aac28STao Ma );
1032198aac28STao Ma 
1033198aac28STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_add_refcount_flag);
1034198aac28STao Ma 
1035198aac28STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_prepare_refcount_change_for_del);
1036198aac28STao Ma 
1037198aac28STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_lock_refcount_allocators);
1038198aac28STao Ma 
1039198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_page);
1040198aac28STao Ma 
1041198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_jbd);
1042198aac28STao Ma 
1043198aac28STao Ma TRACE_EVENT(ocfs2_clear_ext_refcount,
1044198aac28STao Ma 	TP_PROTO(unsigned long long ino, unsigned int cpos,
1045198aac28STao Ma 		 unsigned int len, unsigned int p_cluster,
1046198aac28STao Ma 		 unsigned int ext_flags),
1047198aac28STao Ma 	TP_ARGS(ino, cpos, len, p_cluster, ext_flags),
1048198aac28STao Ma 	TP_STRUCT__entry(
1049198aac28STao Ma 		__field(unsigned long long, ino)
1050198aac28STao Ma 		__field(unsigned int, cpos)
1051198aac28STao Ma 		__field(unsigned int, len)
1052198aac28STao Ma 		__field(unsigned int, p_cluster)
1053198aac28STao Ma 		__field(unsigned int, ext_flags)
1054198aac28STao Ma 	),
1055198aac28STao Ma 	TP_fast_assign(
1056198aac28STao Ma 		__entry->ino = ino;
1057198aac28STao Ma 		__entry->cpos = cpos;
1058198aac28STao Ma 		__entry->len = len;
1059198aac28STao Ma 		__entry->p_cluster = p_cluster;
1060198aac28STao Ma 		__entry->ext_flags = ext_flags;
1061198aac28STao Ma 	),
1062198aac28STao Ma 	TP_printk("%llu %u %u %u %u",
1063198aac28STao Ma 		  __entry->ino, __entry->cpos, __entry->len,
1064198aac28STao Ma 		  __entry->p_cluster, __entry->ext_flags)
1065198aac28STao Ma );
1066198aac28STao Ma 
1067198aac28STao Ma TRACE_EVENT(ocfs2_replace_clusters,
1068198aac28STao Ma 	TP_PROTO(unsigned long long ino, unsigned int cpos,
1069198aac28STao Ma 		 unsigned int old, unsigned int new, unsigned int len,
1070198aac28STao Ma 		 unsigned int ext_flags),
1071198aac28STao Ma 	TP_ARGS(ino, cpos, old, new, len, ext_flags),
1072198aac28STao Ma 	TP_STRUCT__entry(
1073198aac28STao Ma 		__field(unsigned long long, ino)
1074198aac28STao Ma 		__field(unsigned int, cpos)
1075198aac28STao Ma 		__field(unsigned int, old)
1076198aac28STao Ma 		__field(unsigned int, new)
1077198aac28STao Ma 		__field(unsigned int, len)
1078198aac28STao Ma 		__field(unsigned int, ext_flags)
1079198aac28STao Ma 	),
1080198aac28STao Ma 	TP_fast_assign(
1081198aac28STao Ma 		__entry->ino = ino;
1082198aac28STao Ma 		__entry->cpos = cpos;
1083198aac28STao Ma 		__entry->old = old;
1084198aac28STao Ma 		__entry->new = new;
1085198aac28STao Ma 		__entry->len = len;
1086198aac28STao Ma 		__entry->ext_flags = ext_flags;
1087198aac28STao Ma 	),
1088198aac28STao Ma 	TP_printk("%llu %u %u %u %u %u",
1089198aac28STao Ma 		  __entry->ino, __entry->cpos, __entry->old, __entry->new,
1090198aac28STao Ma 		  __entry->len, __entry->ext_flags)
1091198aac28STao Ma );
1092198aac28STao Ma 
1093198aac28STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_make_clusters_writable);
1094198aac28STao Ma 
1095198aac28STao Ma TRACE_EVENT(ocfs2_refcount_cow_hunk,
1096198aac28STao Ma 	TP_PROTO(unsigned long long ino, unsigned int cpos,
1097198aac28STao Ma 		 unsigned int write_len, unsigned int max_cpos,
1098198aac28STao Ma 		 unsigned int cow_start, unsigned int cow_len),
1099198aac28STao Ma 	TP_ARGS(ino, cpos, write_len, max_cpos, cow_start, cow_len),
1100198aac28STao Ma 	TP_STRUCT__entry(
1101198aac28STao Ma 		__field(unsigned long long, ino)
1102198aac28STao Ma 		__field(unsigned int, cpos)
1103198aac28STao Ma 		__field(unsigned int, write_len)
1104198aac28STao Ma 		__field(unsigned int, max_cpos)
1105198aac28STao Ma 		__field(unsigned int, cow_start)
1106198aac28STao Ma 		__field(unsigned int, cow_len)
1107198aac28STao Ma 	),
1108198aac28STao Ma 	TP_fast_assign(
1109198aac28STao Ma 		__entry->ino = ino;
1110198aac28STao Ma 		__entry->cpos = cpos;
1111198aac28STao Ma 		__entry->write_len = write_len;
1112198aac28STao Ma 		__entry->max_cpos = max_cpos;
1113198aac28STao Ma 		__entry->cow_start = cow_start;
1114198aac28STao Ma 		__entry->cow_len = cow_len;
1115198aac28STao Ma 	),
1116198aac28STao Ma 	TP_printk("%llu %u %u %u %u %u",
1117198aac28STao Ma 		  __entry->ino, __entry->cpos, __entry->write_len,
1118198aac28STao Ma 		  __entry->max_cpos, __entry->cow_start, __entry->cow_len)
1119198aac28STao Ma );
1120198aac28STao Ma 
1121198aac28STao Ma /* End of trace events for fs/ocfs2/refcounttree.c. */
11229558156bSTao Ma 
11239558156bSTao Ma /* Trace events for fs/ocfs2/aops.c. */
11249558156bSTao Ma 
11259558156bSTao Ma DECLARE_EVENT_CLASS(ocfs2__get_block,
11269558156bSTao Ma 	TP_PROTO(unsigned long long ino, unsigned long long iblock,
11279558156bSTao Ma 		 void *bh_result, int create),
11289558156bSTao Ma 	TP_ARGS(ino, iblock, bh_result, create),
11299558156bSTao Ma 	TP_STRUCT__entry(
11309558156bSTao Ma 		__field(unsigned long long, ino)
11319558156bSTao Ma 		__field(unsigned long long, iblock)
11329558156bSTao Ma 		__field(void *, bh_result)
11339558156bSTao Ma 		__field(int, create)
11349558156bSTao Ma 	),
11359558156bSTao Ma 	TP_fast_assign(
11369558156bSTao Ma 		__entry->ino = ino;
11379558156bSTao Ma 		__entry->iblock = iblock;
11389558156bSTao Ma 		__entry->bh_result = bh_result;
11399558156bSTao Ma 		__entry->create = create;
11409558156bSTao Ma 	),
11419558156bSTao Ma 	TP_printk("%llu %llu %p %d",
11429558156bSTao Ma 		  __entry->ino, __entry->iblock,
11439558156bSTao Ma 		  __entry->bh_result, __entry->create)
11449558156bSTao Ma );
11459558156bSTao Ma 
11469558156bSTao Ma #define DEFINE_OCFS2_GET_BLOCK_EVENT(name)	\
11479558156bSTao Ma DEFINE_EVENT(ocfs2__get_block, name,	\
11489558156bSTao Ma 	TP_PROTO(unsigned long long ino, unsigned long long iblock,	\
11499558156bSTao Ma 		 void *bh_result, int create),	\
11509558156bSTao Ma 	TP_ARGS(ino, iblock, bh_result, create))
11519558156bSTao Ma 
11529558156bSTao Ma DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_symlink_get_block);
11539558156bSTao Ma 
11549558156bSTao Ma DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_get_block);
11559558156bSTao Ma 
11569558156bSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_get_block_end);
11579558156bSTao Ma 
11589558156bSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_readpage);
11599558156bSTao Ma 
11609558156bSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_writepage);
11619558156bSTao Ma 
11629558156bSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_bmap);
11639558156bSTao Ma 
11649558156bSTao Ma TRACE_EVENT(ocfs2_try_to_write_inline_data,
11659558156bSTao Ma 	TP_PROTO(unsigned long long ino, unsigned int len,
11669558156bSTao Ma 		 unsigned long long pos, unsigned int flags),
11679558156bSTao Ma 	TP_ARGS(ino, len, pos, flags),
11689558156bSTao Ma 	TP_STRUCT__entry(
11699558156bSTao Ma 		__field(unsigned long long, ino)
11709558156bSTao Ma 		__field(unsigned int, len)
11719558156bSTao Ma 		__field(unsigned long long, pos)
11729558156bSTao Ma 		__field(unsigned int, flags)
11739558156bSTao Ma 	),
11749558156bSTao Ma 	TP_fast_assign(
11759558156bSTao Ma 		__entry->ino = ino;
11769558156bSTao Ma 		__entry->len = len;
11779558156bSTao Ma 		__entry->pos = pos;
11789558156bSTao Ma 		__entry->flags = flags;
11799558156bSTao Ma 	),
11809558156bSTao Ma 	TP_printk("%llu %u %llu 0x%x",
11819558156bSTao Ma 		  __entry->ino, __entry->len, __entry->pos, __entry->flags)
11829558156bSTao Ma );
11839558156bSTao Ma 
11849558156bSTao Ma TRACE_EVENT(ocfs2_write_begin_nolock,
11859558156bSTao Ma 	TP_PROTO(unsigned long long ino,
11869558156bSTao Ma 		 long long i_size, unsigned int i_clusters,
11879558156bSTao Ma 		 unsigned long long pos, unsigned int len,
11889558156bSTao Ma 		 unsigned int flags, void *page,
11899558156bSTao Ma 		 unsigned int clusters, unsigned int extents_to_split),
11909558156bSTao Ma 	TP_ARGS(ino, i_size, i_clusters, pos, len, flags,
11919558156bSTao Ma 		page, clusters, extents_to_split),
11929558156bSTao Ma 	TP_STRUCT__entry(
11939558156bSTao Ma 		__field(unsigned long long, ino)
11949558156bSTao Ma 		__field(long long, i_size)
11959558156bSTao Ma 		__field(unsigned int, i_clusters)
11969558156bSTao Ma 		__field(unsigned long long, pos)
11979558156bSTao Ma 		__field(unsigned int, len)
11989558156bSTao Ma 		__field(unsigned int, flags)
11999558156bSTao Ma 		__field(void *, page)
12009558156bSTao Ma 		__field(unsigned int, clusters)
12019558156bSTao Ma 		__field(unsigned int, extents_to_split)
12029558156bSTao Ma 	),
12039558156bSTao Ma 	TP_fast_assign(
12049558156bSTao Ma 		__entry->ino = ino;
12059558156bSTao Ma 		__entry->i_size = i_size;
12069558156bSTao Ma 		__entry->i_clusters = i_clusters;
12079558156bSTao Ma 		__entry->pos = pos;
12089558156bSTao Ma 		__entry->len = len;
12099558156bSTao Ma 		__entry->flags = flags;
12109558156bSTao Ma 		__entry->page = page;
12119558156bSTao Ma 		__entry->clusters = clusters;
12129558156bSTao Ma 		__entry->extents_to_split = extents_to_split;
12139558156bSTao Ma 	),
12149558156bSTao Ma 	TP_printk("%llu %lld %u %llu %u %u %p %u %u",
12159558156bSTao Ma 		  __entry->ino, __entry->i_size, __entry->i_clusters,
12169558156bSTao Ma 		  __entry->pos, __entry->len,
12179558156bSTao Ma 		  __entry->flags, __entry->page, __entry->clusters,
12189558156bSTao Ma 		  __entry->extents_to_split)
12199558156bSTao Ma );
12209558156bSTao Ma 
12219558156bSTao Ma TRACE_EVENT(ocfs2_write_end_inline,
12229558156bSTao Ma 	TP_PROTO(unsigned long long ino,
12239558156bSTao Ma 		 unsigned long long pos, unsigned int copied,
12249558156bSTao Ma 		 unsigned int id_count, unsigned int features),
12259558156bSTao Ma 	TP_ARGS(ino, pos, copied, id_count, features),
12269558156bSTao Ma 	TP_STRUCT__entry(
12279558156bSTao Ma 		__field(unsigned long long, ino)
12289558156bSTao Ma 		__field(unsigned long long, pos)
12299558156bSTao Ma 		__field(unsigned int, copied)
12309558156bSTao Ma 		__field(unsigned int, id_count)
12319558156bSTao Ma 		__field(unsigned int, features)
12329558156bSTao Ma 	),
12339558156bSTao Ma 	TP_fast_assign(
12349558156bSTao Ma 		__entry->ino = ino;
12359558156bSTao Ma 		__entry->pos = pos;
12369558156bSTao Ma 		__entry->copied = copied;
12379558156bSTao Ma 		__entry->id_count = id_count;
12389558156bSTao Ma 		__entry->features = features;
12399558156bSTao Ma 	),
12409558156bSTao Ma 	TP_printk("%llu %llu %u %u %u",
12419558156bSTao Ma 		  __entry->ino, __entry->pos, __entry->copied,
12429558156bSTao Ma 		  __entry->id_count, __entry->features)
12439558156bSTao Ma );
12449558156bSTao Ma 
12459558156bSTao Ma /* End of trace events for fs/ocfs2/aops.c. */
1246614a9e84STao Ma 
1247614a9e84STao Ma /* Trace events for fs/ocfs2/mmap.c. */
1248614a9e84STao Ma 
1249614a9e84STao Ma TRACE_EVENT(ocfs2_fault,
1250614a9e84STao Ma 	TP_PROTO(unsigned long long ino,
1251614a9e84STao Ma 		 void *area, void *page, unsigned long pgoff),
1252614a9e84STao Ma 	TP_ARGS(ino, area, page, pgoff),
1253614a9e84STao Ma 	TP_STRUCT__entry(
1254614a9e84STao Ma 		__field(unsigned long long, ino)
1255614a9e84STao Ma 		__field(void *, area)
1256614a9e84STao Ma 		__field(void *, page)
1257614a9e84STao Ma 		__field(unsigned long, pgoff)
1258614a9e84STao Ma 	),
1259614a9e84STao Ma 	TP_fast_assign(
1260614a9e84STao Ma 		__entry->ino = ino;
1261614a9e84STao Ma 		__entry->area = area;
1262614a9e84STao Ma 		__entry->page = page;
1263614a9e84STao Ma 		__entry->pgoff = pgoff;
1264614a9e84STao Ma 	),
1265614a9e84STao Ma 	TP_printk("%llu %p %p %lu",
1266614a9e84STao Ma 		  __entry->ino, __entry->area, __entry->page, __entry->pgoff)
1267614a9e84STao Ma );
1268614a9e84STao Ma 
1269614a9e84STao Ma /* End of trace events for fs/ocfs2/mmap.c. */
1270614a9e84STao Ma 
1271468eeddeSTao Ma /* Trace events for fs/ocfs2/file.c. */
1272468eeddeSTao Ma 
1273468eeddeSTao Ma DECLARE_EVENT_CLASS(ocfs2__file_ops,
1274468eeddeSTao Ma 	TP_PROTO(void *inode, void *file, void *dentry,
1275468eeddeSTao Ma 		 unsigned long long ino,
1276468eeddeSTao Ma 		 unsigned int d_len, const unsigned char *d_name,
1277468eeddeSTao Ma 		 unsigned long long para),
1278468eeddeSTao Ma 	TP_ARGS(inode, file, dentry, ino, d_len, d_name, para),
1279468eeddeSTao Ma 	TP_STRUCT__entry(
1280468eeddeSTao Ma 		__field(void *, inode)
1281468eeddeSTao Ma 		__field(void *, file)
1282468eeddeSTao Ma 		__field(void *, dentry)
1283468eeddeSTao Ma 		__field(unsigned long long, ino)
1284468eeddeSTao Ma 		__field(unsigned int, d_len)
1285468eeddeSTao Ma 		__string(d_name, d_name)
1286468eeddeSTao Ma 		__field(unsigned long long, para)
1287468eeddeSTao Ma 	),
1288468eeddeSTao Ma 	TP_fast_assign(
1289468eeddeSTao Ma 		__entry->inode = inode;
1290468eeddeSTao Ma 		__entry->file = file;
1291468eeddeSTao Ma 		__entry->dentry = dentry;
1292468eeddeSTao Ma 		__entry->ino = ino;
1293468eeddeSTao Ma 		__entry->d_len = d_len;
1294468eeddeSTao Ma 		__assign_str(d_name, d_name);
1295468eeddeSTao Ma 		__entry->para = para;
1296468eeddeSTao Ma 	),
1297468eeddeSTao Ma 	TP_printk("%p %p %p %llu %llu %.*s", __entry->inode, __entry->file,
1298468eeddeSTao Ma 		  __entry->dentry, __entry->ino, __entry->para,
1299468eeddeSTao Ma 		  __entry->d_len, __get_str(d_name))
1300468eeddeSTao Ma );
1301468eeddeSTao Ma 
1302468eeddeSTao Ma #define DEFINE_OCFS2_FILE_OPS(name)				\
1303468eeddeSTao Ma DEFINE_EVENT(ocfs2__file_ops, name,				\
1304468eeddeSTao Ma TP_PROTO(void *inode, void *file, void *dentry,			\
1305468eeddeSTao Ma 	 unsigned long long ino,				\
1306468eeddeSTao Ma 	 unsigned int d_len, const unsigned char *d_name,	\
1307468eeddeSTao Ma 	 unsigned long long mode),				\
1308468eeddeSTao Ma 	TP_ARGS(inode, file, dentry, ino, d_len, d_name, mode))
1309468eeddeSTao Ma 
1310468eeddeSTao Ma DEFINE_OCFS2_FILE_OPS(ocfs2_file_open);
1311468eeddeSTao Ma 
1312468eeddeSTao Ma DEFINE_OCFS2_FILE_OPS(ocfs2_file_release);
1313468eeddeSTao Ma 
1314468eeddeSTao Ma DEFINE_OCFS2_FILE_OPS(ocfs2_sync_file);
1315468eeddeSTao Ma 
13161202d4baSJia Guo DEFINE_OCFS2_FILE_OPS(ocfs2_file_write_iter);
1317468eeddeSTao Ma 
13181202d4baSJia Guo DEFINE_OCFS2_FILE_OPS(ocfs2_file_read_iter);
1319468eeddeSTao Ma 
1320468eeddeSTao Ma DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_read);
1321468eeddeSTao Ma 
1322468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_truncate_file);
1323468eeddeSTao Ma 
1324468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_truncate_file_error);
1325468eeddeSTao Ma 
1326468eeddeSTao Ma TRACE_EVENT(ocfs2_extend_allocation,
1327468eeddeSTao Ma 	TP_PROTO(unsigned long long ip_blkno, unsigned long long size,
1328468eeddeSTao Ma 		 unsigned int clusters, unsigned int clusters_to_add,
1329468eeddeSTao Ma 		 int why, int restart_func),
1330468eeddeSTao Ma 	TP_ARGS(ip_blkno, size, clusters, clusters_to_add, why, restart_func),
1331468eeddeSTao Ma 	TP_STRUCT__entry(
1332468eeddeSTao Ma 		__field(unsigned long long, ip_blkno)
1333468eeddeSTao Ma 		__field(unsigned long long, size)
1334468eeddeSTao Ma 		__field(unsigned int, clusters)
1335468eeddeSTao Ma 		__field(unsigned int, clusters_to_add)
1336468eeddeSTao Ma 		__field(int, why)
1337468eeddeSTao Ma 		__field(int, restart_func)
1338468eeddeSTao Ma 	),
1339468eeddeSTao Ma 	TP_fast_assign(
1340468eeddeSTao Ma 		__entry->ip_blkno = ip_blkno;
1341468eeddeSTao Ma 		__entry->size = size;
1342468eeddeSTao Ma 		__entry->clusters = clusters;
1343468eeddeSTao Ma 		__entry->clusters_to_add = clusters_to_add;
1344468eeddeSTao Ma 		__entry->why = why;
1345468eeddeSTao Ma 		__entry->restart_func = restart_func;
1346468eeddeSTao Ma 	),
1347468eeddeSTao Ma 	TP_printk("%llu %llu %u %u %d %d",
1348468eeddeSTao Ma 		  __entry->ip_blkno, __entry->size, __entry->clusters,
1349468eeddeSTao Ma 		  __entry->clusters_to_add, __entry->why, __entry->restart_func)
1350468eeddeSTao Ma );
1351468eeddeSTao Ma 
1352468eeddeSTao Ma TRACE_EVENT(ocfs2_extend_allocation_end,
1353468eeddeSTao Ma 	TP_PROTO(unsigned long long ino,
1354468eeddeSTao Ma 		 unsigned int di_clusters, unsigned long long di_size,
1355468eeddeSTao Ma 		 unsigned int ip_clusters, unsigned long long i_size),
1356468eeddeSTao Ma 	TP_ARGS(ino, di_clusters, di_size, ip_clusters, i_size),
1357468eeddeSTao Ma 	TP_STRUCT__entry(
1358468eeddeSTao Ma 		__field(unsigned long long, ino)
1359468eeddeSTao Ma 		__field(unsigned int, di_clusters)
1360468eeddeSTao Ma 		__field(unsigned long long, di_size)
1361468eeddeSTao Ma 		__field(unsigned int, ip_clusters)
1362468eeddeSTao Ma 		__field(unsigned long long, i_size)
1363468eeddeSTao Ma 	),
1364468eeddeSTao Ma 	TP_fast_assign(
1365468eeddeSTao Ma 		__entry->ino = ino;
1366468eeddeSTao Ma 		__entry->di_clusters = di_clusters;
1367468eeddeSTao Ma 		__entry->di_size = di_size;
1368468eeddeSTao Ma 		__entry->ip_clusters = ip_clusters;
1369468eeddeSTao Ma 		__entry->i_size = i_size;
1370468eeddeSTao Ma 	),
1371468eeddeSTao Ma 	TP_printk("%llu %u %llu %u %llu", __entry->ino, __entry->di_clusters,
1372468eeddeSTao Ma 		  __entry->di_size, __entry->ip_clusters, __entry->i_size)
1373468eeddeSTao Ma );
1374468eeddeSTao Ma 
1375468eeddeSTao Ma TRACE_EVENT(ocfs2_write_zero_page,
1376468eeddeSTao Ma 	TP_PROTO(unsigned long long ino,
1377468eeddeSTao Ma 		 unsigned long long abs_from, unsigned long long abs_to,
1378468eeddeSTao Ma 		 unsigned long index, unsigned int zero_from,
1379468eeddeSTao Ma 		 unsigned int zero_to),
1380468eeddeSTao Ma 	TP_ARGS(ino, abs_from, abs_to, index, zero_from, zero_to),
1381468eeddeSTao Ma 	TP_STRUCT__entry(
1382468eeddeSTao Ma 		__field(unsigned long long, ino)
1383468eeddeSTao Ma 		__field(unsigned long long, abs_from)
1384468eeddeSTao Ma 		__field(unsigned long long, abs_to)
1385468eeddeSTao Ma 		__field(unsigned long, index)
1386468eeddeSTao Ma 		__field(unsigned int, zero_from)
1387468eeddeSTao Ma 		__field(unsigned int, zero_to)
1388468eeddeSTao Ma 	),
1389468eeddeSTao Ma 	TP_fast_assign(
1390468eeddeSTao Ma 		__entry->ino = ino;
1391468eeddeSTao Ma 		__entry->abs_from = abs_from;
1392468eeddeSTao Ma 		__entry->abs_to = abs_to;
1393468eeddeSTao Ma 		__entry->index = index;
1394468eeddeSTao Ma 		__entry->zero_from = zero_from;
1395468eeddeSTao Ma 		__entry->zero_to = zero_to;
1396468eeddeSTao Ma 	),
1397468eeddeSTao Ma 	TP_printk("%llu %llu %llu %lu %u %u", __entry->ino,
1398468eeddeSTao Ma 		  __entry->abs_from, __entry->abs_to,
1399468eeddeSTao Ma 		  __entry->index, __entry->zero_from, __entry->zero_to)
1400468eeddeSTao Ma );
1401468eeddeSTao Ma 
1402468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend_range);
1403468eeddeSTao Ma 
1404468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend);
1405468eeddeSTao Ma 
1406468eeddeSTao Ma TRACE_EVENT(ocfs2_setattr,
1407468eeddeSTao Ma 	TP_PROTO(void *inode, void *dentry,
1408468eeddeSTao Ma 		 unsigned long long ino,
1409468eeddeSTao Ma 		 unsigned int d_len, const unsigned char *d_name,
1410468eeddeSTao Ma 		 unsigned int ia_valid, unsigned int ia_mode,
1411468eeddeSTao Ma 		 unsigned int ia_uid, unsigned int ia_gid),
1412468eeddeSTao Ma 	TP_ARGS(inode, dentry, ino, d_len, d_name,
1413468eeddeSTao Ma 		ia_valid, ia_mode, ia_uid, ia_gid),
1414468eeddeSTao Ma 	TP_STRUCT__entry(
1415468eeddeSTao Ma 		__field(void *, inode)
1416468eeddeSTao Ma 		__field(void *, dentry)
1417468eeddeSTao Ma 		__field(unsigned long long, ino)
1418468eeddeSTao Ma 		__field(unsigned int, d_len)
1419468eeddeSTao Ma 		__string(d_name, d_name)
1420468eeddeSTao Ma 		__field(unsigned int, ia_valid)
1421468eeddeSTao Ma 		__field(unsigned int, ia_mode)
1422468eeddeSTao Ma 		__field(unsigned int, ia_uid)
1423468eeddeSTao Ma 		__field(unsigned int, ia_gid)
1424468eeddeSTao Ma 	),
1425468eeddeSTao Ma 	TP_fast_assign(
1426468eeddeSTao Ma 		__entry->inode = inode;
1427468eeddeSTao Ma 		__entry->dentry = dentry;
1428468eeddeSTao Ma 		__entry->ino = ino;
1429468eeddeSTao Ma 		__entry->d_len = d_len;
1430468eeddeSTao Ma 		__assign_str(d_name, d_name);
1431468eeddeSTao Ma 		__entry->ia_valid = ia_valid;
1432468eeddeSTao Ma 		__entry->ia_mode = ia_mode;
1433468eeddeSTao Ma 		__entry->ia_uid = ia_uid;
1434468eeddeSTao Ma 		__entry->ia_gid = ia_gid;
1435468eeddeSTao Ma 	),
1436468eeddeSTao Ma 	TP_printk("%p %p %llu %.*s %u %u %u %u", __entry->inode,
1437468eeddeSTao Ma 		  __entry->dentry, __entry->ino, __entry->d_len,
1438468eeddeSTao Ma 		  __get_str(d_name), __entry->ia_valid, __entry->ia_mode,
1439468eeddeSTao Ma 		  __entry->ia_uid, __entry->ia_gid)
1440468eeddeSTao Ma );
1441468eeddeSTao Ma 
1442468eeddeSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_write_remove_suid);
1443468eeddeSTao Ma 
1444468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_partial_clusters);
1445468eeddeSTao Ma 
1446468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range1);
1447468eeddeSTao Ma 
1448468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range2);
1449468eeddeSTao Ma 
1450468eeddeSTao Ma DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_remove_inode_range);
1451468eeddeSTao Ma 
1452c4c2416aSGang He TRACE_EVENT(ocfs2_prepare_inode_for_write,
1453c4c2416aSGang He 	TP_PROTO(unsigned long long ino, unsigned long long saved_pos,
1454468eeddeSTao Ma 		 unsigned long count, int wait),
1455468eeddeSTao Ma 	TP_ARGS(ino, saved_pos, count, wait),
1456468eeddeSTao Ma 	TP_STRUCT__entry(
1457468eeddeSTao Ma 		__field(unsigned long long, ino)
1458c4c2416aSGang He 		__field(unsigned long long, saved_pos)
1459468eeddeSTao Ma 		__field(unsigned long, count)
1460468eeddeSTao Ma 		__field(int, wait)
1461468eeddeSTao Ma 	),
1462468eeddeSTao Ma 	TP_fast_assign(
1463468eeddeSTao Ma 		__entry->ino = ino;
1464c4c2416aSGang He 		__entry->saved_pos = saved_pos;
1465468eeddeSTao Ma 		__entry->count = count;
1466c4c2416aSGang He 		__entry->wait = wait;
1467c4c2416aSGang He 	),
1468468eeddeSTao Ma 	TP_printk("%llu %llu %lu %d", __entry->ino,
1469468eeddeSTao Ma 		  __entry->saved_pos, __entry->count, __entry->wait)
14701202d4baSJia Guo );
1471468eeddeSTao Ma 
1472468eeddeSTao Ma DEFINE_OCFS2_INT_EVENT(generic_file_read_iter_ret);
1473468eeddeSTao Ma DEFINE_OCFS2_INT_EVENT(filemap_splice_read_ret);
147464f3b269STao Ma 
147564f3b269STao Ma /* End of trace events for fs/ocfs2/file.c. */
147664f3b269STao Ma 
147764f3b269STao Ma /* Trace events for fs/ocfs2/inode.c. */
147864f3b269STao Ma 
147964f3b269STao Ma TRACE_EVENT(ocfs2_iget_begin,
148064f3b269STao Ma 	TP_PROTO(unsigned long long ino, unsigned int flags, int sysfile_type),
148164f3b269STao Ma 	TP_ARGS(ino, flags, sysfile_type),
148264f3b269STao Ma 	TP_STRUCT__entry(
148364f3b269STao Ma 		__field(unsigned long long, ino)
148464f3b269STao Ma 		__field(unsigned int, flags)
148564f3b269STao Ma 		__field(int, sysfile_type)
148664f3b269STao Ma 	),
148764f3b269STao Ma 	TP_fast_assign(
148864f3b269STao Ma 		__entry->ino = ino;
148964f3b269STao Ma 		__entry->flags = flags;
149064f3b269STao Ma 		__entry->sysfile_type = sysfile_type;
149164f3b269STao Ma 	),
149264f3b269STao Ma 	TP_printk("%llu %u %d", __entry->ino,
149364f3b269STao Ma 		  __entry->flags, __entry->sysfile_type)
149464f3b269STao Ma );
149564f3b269STao Ma 
149664f3b269STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_iget5_locked);
149764f3b269STao Ma 
149864f3b269STao Ma TRACE_EVENT(ocfs2_iget_end,
149964f3b269STao Ma 	TP_PROTO(void *inode, unsigned long long ino),
150064f3b269STao Ma 	TP_ARGS(inode, ino),
150164f3b269STao Ma 	TP_STRUCT__entry(
150264f3b269STao Ma 		__field(void *, inode)
150364f3b269STao Ma 		__field(unsigned long long, ino)
150464f3b269STao Ma 	),
150564f3b269STao Ma 	TP_fast_assign(
150664f3b269STao Ma 		__entry->inode = inode;
150764f3b269STao Ma 		__entry->ino = ino;
150864f3b269STao Ma 	),
150964f3b269STao Ma 	TP_printk("%p %llu", __entry->inode, __entry->ino)
151064f3b269STao Ma );
151164f3b269STao Ma 
151264f3b269STao Ma TRACE_EVENT(ocfs2_find_actor,
151364f3b269STao Ma 	TP_PROTO(void *inode, unsigned long long ino,
151464f3b269STao Ma 		 void *args,  unsigned long long fi_blkno),
151564f3b269STao Ma 	TP_ARGS(inode, ino, args, fi_blkno),
151664f3b269STao Ma 	TP_STRUCT__entry(
151764f3b269STao Ma 		__field(void *, inode)
151864f3b269STao Ma 		__field(unsigned long long, ino)
151964f3b269STao Ma 		__field(void *, args)
152064f3b269STao Ma 		__field(unsigned long long, fi_blkno)
152164f3b269STao Ma 	),
152264f3b269STao Ma 	TP_fast_assign(
152364f3b269STao Ma 		__entry->inode = inode;
152464f3b269STao Ma 		__entry->ino = ino;
152564f3b269STao Ma 		__entry->args = args;
152664f3b269STao Ma 		__entry->fi_blkno = fi_blkno;
152764f3b269STao Ma 	),
152864f3b269STao Ma 	TP_printk("%p %llu %p %llu", __entry->inode, __entry->ino,
152964f3b269STao Ma 		  __entry->args, __entry->fi_blkno)
153064f3b269STao Ma );
153164f3b269STao Ma 
153264f3b269STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_populate_inode);
153364f3b269STao Ma 
153464f3b269STao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_read_locked_inode);
153564f3b269STao Ma 
1536d56a8f32SGang He DEFINE_OCFS2_INT_INT_EVENT(ocfs2_check_orphan_recovery_state);
1537d56a8f32SGang He 
153864f3b269STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_inode_block);
153964f3b269STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_filecheck_validate_inode_block);
154064f3b269STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_filecheck_repair_inode_block);
154164f3b269STao Ma 
154264f3b269STao Ma TRACE_EVENT(ocfs2_inode_is_valid_to_delete,
154364f3b269STao Ma 	TP_PROTO(void *task, void *dc_task, unsigned long long ino,
154464f3b269STao Ma 		 unsigned int flags),
154564f3b269STao Ma 	TP_ARGS(task, dc_task, ino, flags),
154664f3b269STao Ma 	TP_STRUCT__entry(
154764f3b269STao Ma 		__field(void *, task)
154864f3b269STao Ma 		__field(void *, dc_task)
154964f3b269STao Ma 		__field(unsigned long long, ino)
155064f3b269STao Ma 		__field(unsigned int, flags)
155164f3b269STao Ma 	),
155264f3b269STao Ma 	TP_fast_assign(
155364f3b269STao Ma 		__entry->task = task;
155464f3b269STao Ma 		__entry->dc_task = dc_task;
155564f3b269STao Ma 		__entry->ino = ino;
155664f3b269STao Ma 		__entry->flags = flags;
155764f3b269STao Ma 	),
155864f3b269STao Ma 	TP_printk("%p %p %llu %u", __entry->task, __entry->dc_task,
155964f3b269STao Ma 		  __entry->ino, __entry->flags)
156064f3b269STao Ma );
156164f3b269STao Ma 
156264f3b269STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_query_inode_wipe_begin);
156364f3b269STao Ma 
156464f3b269STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_query_inode_wipe_succ);
156564f3b269STao Ma 
156664f3b269STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_query_inode_wipe_end);
156764f3b269STao Ma 
156864f3b269STao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_cleanup_delete_inode);
156964f3b269STao Ma 
157064f3b269STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_delete_inode);
157164f3b269STao Ma 
157264f3b269STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_clear_inode);
157364f3b269STao Ma 
157464f3b269STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_drop_inode);
157564f3b269STao Ma 
157664f3b269STao Ma TRACE_EVENT(ocfs2_inode_revalidate,
157764f3b269STao Ma 	TP_PROTO(void *inode, unsigned long long ino,
157864f3b269STao Ma 		 unsigned int flags),
157964f3b269STao Ma 	TP_ARGS(inode, ino, flags),
158064f3b269STao Ma 	TP_STRUCT__entry(
158164f3b269STao Ma 		__field(void *, inode)
158264f3b269STao Ma 		__field(unsigned long long, ino)
158364f3b269STao Ma 		__field(unsigned int, flags)
158464f3b269STao Ma 	),
158564f3b269STao Ma 	TP_fast_assign(
158664f3b269STao Ma 		__entry->inode = inode;
158764f3b269STao Ma 		__entry->ino = ino;
158864f3b269STao Ma 		__entry->flags = flags;
158964f3b269STao Ma 	),
159064f3b269STao Ma 	TP_printk("%p %llu %u", __entry->inode, __entry->ino, __entry->flags)
159164f3b269STao Ma );
159264f3b269STao Ma 
1593a716357cSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_mark_inode_dirty);
1594a716357cSTao Ma 
1595a716357cSTao Ma /* End of trace events for fs/ocfs2/inode.c. */
1596a716357cSTao Ma 
1597a716357cSTao Ma /* Trace events for fs/ocfs2/extent_map.c. */
1598a716357cSTao Ma 
1599a716357cSTao Ma TRACE_EVENT(ocfs2_read_virt_blocks,
1600a716357cSTao Ma 	TP_PROTO(void *inode, unsigned long long vblock, int nr,
1601a716357cSTao Ma 		 void *bhs, unsigned int flags, void *validate),
1602a716357cSTao Ma 	TP_ARGS(inode, vblock, nr, bhs, flags, validate),
1603a716357cSTao Ma 	TP_STRUCT__entry(
1604a716357cSTao Ma 		__field(void *, inode)
1605a716357cSTao Ma 		__field(unsigned long long, vblock)
1606a716357cSTao Ma 		__field(int, nr)
1607a716357cSTao Ma 		__field(void *, bhs)
1608a716357cSTao Ma 		__field(unsigned int, flags)
1609a716357cSTao Ma 		__field(void *, validate)
1610a716357cSTao Ma 	),
1611a716357cSTao Ma 	TP_fast_assign(
1612a716357cSTao Ma 		__entry->inode = inode;
1613a716357cSTao Ma 		__entry->vblock = vblock;
1614a716357cSTao Ma 		__entry->nr = nr;
1615a716357cSTao Ma 		__entry->bhs = bhs;
1616a716357cSTao Ma 		__entry->flags = flags;
1617a716357cSTao Ma 		__entry->validate = validate;
1618a716357cSTao Ma 	),
1619a716357cSTao Ma 	TP_printk("%p %llu %d %p %x %p", __entry->inode, __entry->vblock,
1620a716357cSTao Ma 		  __entry->nr, __entry->bhs, __entry->flags, __entry->validate)
1621a716357cSTao Ma );
1622a8731086STao Ma 
1623a8731086STao Ma /* End of trace events for fs/ocfs2/extent_map.c. */
1624a8731086STao Ma 
1625a8731086STao Ma /* Trace events for fs/ocfs2/slot_map.c. */
1626a8731086STao Ma 
1627a8731086STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_refresh_slot_info);
1628a8731086STao Ma 
1629a8731086STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers);
1630a8731086STao Ma 
1631a8731086STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers_block);
1632a8731086STao Ma 
1633b5770f98STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_find_slot);
1634b5770f98STao Ma 
1635b5770f98STao Ma /* End of trace events for fs/ocfs2/slot_map.c. */
1636b5770f98STao Ma 
1637b5770f98STao Ma /* Trace events for fs/ocfs2/heartbeat.c. */
1638b5770f98STao Ma 
1639b5770f98STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_do_node_down);
164032a42d39STao Ma 
164132a42d39STao Ma /* End of trace events for fs/ocfs2/heartbeat.c. */
164232a42d39STao Ma 
164332a42d39STao Ma /* Trace events for fs/ocfs2/super.c. */
164432a42d39STao Ma 
164532a42d39STao Ma TRACE_EVENT(ocfs2_remount,
164632a42d39STao Ma 	TP_PROTO(unsigned long s_flags, unsigned long osb_flags, int flags),
164732a42d39STao Ma 	TP_ARGS(s_flags, osb_flags, flags),
164832a42d39STao Ma 	TP_STRUCT__entry(
164932a42d39STao Ma 		__field(unsigned long, s_flags)
165032a42d39STao Ma 		__field(unsigned long, osb_flags)
165132a42d39STao Ma 		__field(int, flags)
165232a42d39STao Ma 	),
165332a42d39STao Ma 	TP_fast_assign(
165432a42d39STao Ma 		__entry->s_flags = s_flags;
165532a42d39STao Ma 		__entry->osb_flags = osb_flags;
165632a42d39STao Ma 		__entry->flags = flags;
165732a42d39STao Ma 	),
165832a42d39STao Ma 	TP_printk("%lu %lu %d", __entry->s_flags,
165932a42d39STao Ma 		  __entry->osb_flags, __entry->flags)
166032a42d39STao Ma );
166132a42d39STao Ma 
166232a42d39STao Ma TRACE_EVENT(ocfs2_fill_super,
166332a42d39STao Ma 	TP_PROTO(void *sb, void *data, int silent),
166432a42d39STao Ma 	TP_ARGS(sb, data, silent),
166532a42d39STao Ma 	TP_STRUCT__entry(
166632a42d39STao Ma 		__field(void *, sb)
166732a42d39STao Ma 		__field(void *, data)
166832a42d39STao Ma 		__field(int, silent)
166932a42d39STao Ma 	),
167032a42d39STao Ma 	TP_fast_assign(
167132a42d39STao Ma 		__entry->sb = sb;
167232a42d39STao Ma 		__entry->data = data;
167332a42d39STao Ma 		__entry->silent = silent;
167432a42d39STao Ma 	),
167532a42d39STao Ma 	TP_printk("%p %p %d", __entry->sb,
167632a42d39STao Ma 		  __entry->data, __entry->silent)
167732a42d39STao Ma );
167832a42d39STao Ma 
167932a42d39STao Ma TRACE_EVENT(ocfs2_parse_options,
168032a42d39STao Ma 	TP_PROTO(int is_remount, char *options),
168132a42d39STao Ma 	TP_ARGS(is_remount, options),
168232a42d39STao Ma 	TP_STRUCT__entry(
168332a42d39STao Ma 		__field(int, is_remount)
168432a42d39STao Ma 		__string(options, options)
168532a42d39STao Ma 	),
168632a42d39STao Ma 	TP_fast_assign(
168732a42d39STao Ma 		__entry->is_remount = is_remount;
168832a42d39STao Ma 		__assign_str(options, options);
168932a42d39STao Ma 	),
169032a42d39STao Ma 	TP_printk("%d %s", __entry->is_remount, __get_str(options))
169132a42d39STao Ma );
169232a42d39STao Ma 
169332a42d39STao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_put_super);
169432a42d39STao Ma 
169532a42d39STao Ma TRACE_EVENT(ocfs2_statfs,
169632a42d39STao Ma 	TP_PROTO(void *sb, void *buf),
169732a42d39STao Ma 	TP_ARGS(sb, buf),
169832a42d39STao Ma 	TP_STRUCT__entry(
169932a42d39STao Ma 		__field(void *, sb)
170032a42d39STao Ma 		__field(void *, buf)
170132a42d39STao Ma 	),
170232a42d39STao Ma 	TP_fast_assign(
170332a42d39STao Ma 		__entry->sb = sb;
170432a42d39STao Ma 		__entry->buf = buf;
170532a42d39STao Ma 	),
170632a42d39STao Ma 	TP_printk("%p %p", __entry->sb, __entry->buf)
170732a42d39STao Ma );
170832a42d39STao Ma 
170932a42d39STao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_dismount_volume);
171032a42d39STao Ma 
171132a42d39STao Ma TRACE_EVENT(ocfs2_initialize_super,
171232a42d39STao Ma 	TP_PROTO(char *label, char *uuid_str, unsigned long long root_dir,
171332a42d39STao Ma 		 unsigned long long system_dir, int cluster_bits),
171432a42d39STao Ma 	TP_ARGS(label, uuid_str, root_dir, system_dir, cluster_bits),
171532a42d39STao Ma 	TP_STRUCT__entry(
171632a42d39STao Ma 		__string(label, label)
171732a42d39STao Ma 		__string(uuid_str, uuid_str)
171832a42d39STao Ma 		__field(unsigned long long, root_dir)
171932a42d39STao Ma 		__field(unsigned long long, system_dir)
172032a42d39STao Ma 		__field(int, cluster_bits)
172132a42d39STao Ma 	),
172232a42d39STao Ma 	TP_fast_assign(
172332a42d39STao Ma 		__assign_str(label, label);
172432a42d39STao Ma 		__assign_str(uuid_str, uuid_str);
172532a42d39STao Ma 		__entry->root_dir = root_dir;
172632a42d39STao Ma 		__entry->system_dir = system_dir;
172732a42d39STao Ma 		__entry->cluster_bits = cluster_bits;
172832a42d39STao Ma 	),
172932a42d39STao Ma 	TP_printk("%s %s %llu %llu %d", __get_str(label), __get_str(uuid_str),
173032a42d39STao Ma 		  __entry->root_dir, __entry->system_dir, __entry->cluster_bits)
1731402b4183STao Ma );
1732402b4183STao Ma 
1733402b4183STao Ma /* End of trace events for fs/ocfs2/super.c. */
1734402b4183STao Ma 
1735402b4183STao Ma /* Trace events for fs/ocfs2/xattr.c. */
1736402b4183STao Ma 
1737402b4183STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_xattr_block);
1738402b4183STao Ma 
1739402b4183STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_xattr_extend_allocation);
1740402b4183STao Ma 
1741402b4183STao Ma TRACE_EVENT(ocfs2_init_xattr_set_ctxt,
1742402b4183STao Ma 	TP_PROTO(const char *name, int meta, int clusters, int credits),
1743402b4183STao Ma 	TP_ARGS(name, meta, clusters, credits),
1744402b4183STao Ma 	TP_STRUCT__entry(
1745402b4183STao Ma 		__string(name, name)
1746402b4183STao Ma 		__field(int, meta)
1747402b4183STao Ma 		__field(int, clusters)
1748402b4183STao Ma 		__field(int, credits)
1749402b4183STao Ma 	),
1750402b4183STao Ma 	TP_fast_assign(
1751402b4183STao Ma 		__assign_str(name, name);
1752402b4183STao Ma 		__entry->meta = meta;
1753402b4183STao Ma 		__entry->clusters = clusters;
1754402b4183STao Ma 		__entry->credits = credits;
1755402b4183STao Ma 	),
1756402b4183STao Ma 	TP_printk("%s %d %d %d", __get_str(name), __entry->meta,
1757402b4183STao Ma 		  __entry->clusters, __entry->credits)
1758402b4183STao Ma );
1759402b4183STao Ma 
1760402b4183STao Ma DECLARE_EVENT_CLASS(ocfs2__xattr_find,
1761402b4183STao Ma 	TP_PROTO(unsigned long long ino, const char *name, int name_index,
1762402b4183STao Ma 		 unsigned int hash, unsigned long long location,
1763402b4183STao Ma 		 int xe_index),
1764402b4183STao Ma 	TP_ARGS(ino, name, name_index, hash, location, xe_index),
1765402b4183STao Ma 	TP_STRUCT__entry(
1766402b4183STao Ma 		__field(unsigned long long, ino)
1767402b4183STao Ma 		__string(name, name)
1768402b4183STao Ma 		__field(int, name_index)
1769402b4183STao Ma 		__field(unsigned int, hash)
1770402b4183STao Ma 		__field(unsigned long long, location)
1771402b4183STao Ma 		__field(int, xe_index)
1772402b4183STao Ma 	),
1773402b4183STao Ma 	TP_fast_assign(
1774402b4183STao Ma 		__entry->ino = ino;
1775402b4183STao Ma 		__assign_str(name, name);
1776402b4183STao Ma 		__entry->name_index = name_index;
1777402b4183STao Ma 		__entry->hash = hash;
1778402b4183STao Ma 		__entry->location = location;
1779402b4183STao Ma 		__entry->xe_index = xe_index;
1780402b4183STao Ma 	),
1781402b4183STao Ma 	TP_printk("%llu %s %d %u %llu %d", __entry->ino, __get_str(name),
1782402b4183STao Ma 		  __entry->name_index, __entry->hash, __entry->location,
1783402b4183STao Ma 		  __entry->xe_index)
1784402b4183STao Ma );
1785402b4183STao Ma 
1786402b4183STao Ma #define DEFINE_OCFS2_XATTR_FIND_EVENT(name)					\
1787402b4183STao Ma DEFINE_EVENT(ocfs2__xattr_find, name,					\
1788402b4183STao Ma TP_PROTO(unsigned long long ino, const char *name, int name_index,	\
1789402b4183STao Ma 	 unsigned int hash, unsigned long long bucket,			\
1790402b4183STao Ma 	 int xe_index),							\
1791402b4183STao Ma 	TP_ARGS(ino, name, name_index, hash, bucket, xe_index))
1792402b4183STao Ma 
1793402b4183STao Ma DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_bucket_find);
1794402b4183STao Ma 
1795402b4183STao Ma DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find);
1796402b4183STao Ma 
1797402b4183STao Ma DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find_rec);
1798402b4183STao Ma 
1799402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_iterate_xattr_buckets);
1800402b4183STao Ma 
1801402b4183STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_iterate_xattr_bucket);
1802402b4183STao Ma 
1803402b4183STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cp_xattr_block_to_bucket_begin);
1804402b4183STao Ma 
1805402b4183STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cp_xattr_block_to_bucket_end);
1806402b4183STao Ma 
1807402b4183STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block_begin);
1808402b4183STao Ma 
1809402b4183STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block);
1810402b4183STao Ma 
1811402b4183STao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_defrag_xattr_bucket);
1812402b4183STao Ma 
1813402b4183STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_bucket_cross_cluster);
1814402b4183STao Ma 
1815402b4183STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_divide_xattr_bucket_begin);
1816402b4183STao Ma 
1817402b4183STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_divide_xattr_bucket_move);
1818402b4183STao Ma 
1819402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_cp_xattr_bucket);
1820402b4183STao Ma 
1821402b4183STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_buckets);
1822402b4183STao Ma 
1823402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_adjust_xattr_cross_cluster);
1824402b4183STao Ma 
1825402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_begin);
1826402b4183STao Ma 
1827402b4183STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_add_new_xattr_cluster);
1828402b4183STao Ma 
1829402b4183STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_insert);
1830402b4183STao Ma 
1831402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_extend_xattr_bucket);
1832402b4183STao Ma 
1833402b4183STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_add_new_xattr_bucket);
1834402b4183STao Ma 
1835402b4183STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_xattr_bucket_value_truncate);
1836402b4183STao Ma 
1837402b4183STao Ma DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_rm_xattr_cluster);
1838402b4183STao Ma 
1839402b4183STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_header);
1840402b4183STao Ma 
1841402b4183STao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_create_empty_xattr_block);
1842402b4183STao Ma 
1843402b4183STao Ma DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_bucket);
1844402b4183STao Ma 
1845402b4183STao Ma DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_index_block);
1846402b4183STao Ma 
1847402b4183STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_xattr_bucket_value_refcount);
1848402b4183STao Ma 
1849402b4183STao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_reflink_xattr_buckets);
1850402b4183STao Ma 
18512661836eSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_rec);
18522661836eSTao Ma 
18532661836eSTao Ma /* End of trace events for fs/ocfs2/xattr.c. */
18542661836eSTao Ma 
18552661836eSTao Ma /* Trace events for fs/ocfs2/reservations.c. */
18562661836eSTao Ma 
18572661836eSTao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_insert);
18582661836eSTao Ma 
18592661836eSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_begin);
18602661836eSTao Ma 
18612661836eSTao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_end);
18622661836eSTao Ma 
18632661836eSTao Ma TRACE_EVENT(ocfs2_resv_find_window_begin,
18642661836eSTao Ma 	TP_PROTO(unsigned int r_start, unsigned int r_end, unsigned int goal,
18652661836eSTao Ma 		 unsigned int wanted, int empty_root),
18662661836eSTao Ma 	TP_ARGS(r_start, r_end, goal, wanted, empty_root),
18672661836eSTao Ma 	TP_STRUCT__entry(
18682661836eSTao Ma 		__field(unsigned int, r_start)
18692661836eSTao Ma 		__field(unsigned int, r_end)
18702661836eSTao Ma 		__field(unsigned int, goal)
18712661836eSTao Ma 		__field(unsigned int, wanted)
18722661836eSTao Ma 		__field(int, empty_root)
18732661836eSTao Ma 	),
18742661836eSTao Ma 	TP_fast_assign(
18752661836eSTao Ma 		__entry->r_start = r_start;
18762661836eSTao Ma 		__entry->r_end = r_end;
18772661836eSTao Ma 		__entry->goal = goal;
18782661836eSTao Ma 		__entry->wanted = wanted;
18792661836eSTao Ma 		__entry->empty_root = empty_root;
18802661836eSTao Ma 	),
18812661836eSTao Ma 	TP_printk("%u %u %u %u %d", __entry->r_start, __entry->r_end,
18822661836eSTao Ma 		  __entry->goal, __entry->wanted, __entry->empty_root)
18832661836eSTao Ma );
18842661836eSTao Ma 
18852661836eSTao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_find_window_prev);
18862661836eSTao Ma 
18872661836eSTao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_resv_find_window_next);
18882661836eSTao Ma 
18892661836eSTao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cannibalize_resv_begin);
18902661836eSTao Ma 
18912661836eSTao Ma TRACE_EVENT(ocfs2_cannibalize_resv_end,
18922661836eSTao Ma 	TP_PROTO(unsigned int start, unsigned int end, unsigned int len,
18932661836eSTao Ma 		 unsigned int last_start, unsigned int last_len),
18942661836eSTao Ma 	TP_ARGS(start, end, len, last_start, last_len),
18952661836eSTao Ma 	TP_STRUCT__entry(
18962661836eSTao Ma 		__field(unsigned int, start)
18972661836eSTao Ma 		__field(unsigned int, end)
18982661836eSTao Ma 		__field(unsigned int, len)
18992661836eSTao Ma 		__field(unsigned int, last_start)
19002661836eSTao Ma 		__field(unsigned int, last_len)
19012661836eSTao Ma 	),
19022661836eSTao Ma 	TP_fast_assign(
19032661836eSTao Ma 		__entry->start = start;
19042661836eSTao Ma 		__entry->end = end;
19052661836eSTao Ma 		__entry->len = len;
19062661836eSTao Ma 		__entry->last_start = last_start;
19072661836eSTao Ma 		__entry->last_len = last_len;
19082661836eSTao Ma 	),
19092661836eSTao Ma 	TP_printk("%u %u %u %u %u", __entry->start, __entry->end,
19102661836eSTao Ma 		  __entry->len, __entry->last_start, __entry->last_len)
19112661836eSTao Ma );
19122661836eSTao Ma 
19132661836eSTao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_resv_bits);
19142661836eSTao Ma 
19152661836eSTao Ma TRACE_EVENT(ocfs2_resmap_claimed_bits_begin,
19162661836eSTao Ma 	TP_PROTO(unsigned int cstart, unsigned int cend, unsigned int clen,
19172661836eSTao Ma 		 unsigned int r_start, unsigned int r_end, unsigned int r_len,
19182661836eSTao Ma 		 unsigned int last_start, unsigned int last_len),
19192661836eSTao Ma 	TP_ARGS(cstart, cend, clen, r_start, r_end,
19202661836eSTao Ma 		r_len, last_start, last_len),
19212661836eSTao Ma 	TP_STRUCT__entry(
19222661836eSTao Ma 		__field(unsigned int, cstart)
19232661836eSTao Ma 		__field(unsigned int, cend)
19242661836eSTao Ma 		__field(unsigned int, clen)
19252661836eSTao Ma 		__field(unsigned int, r_start)
19262661836eSTao Ma 		__field(unsigned int, r_end)
19272661836eSTao Ma 		__field(unsigned int, r_len)
19282661836eSTao Ma 		__field(unsigned int, last_start)
19292661836eSTao Ma 		__field(unsigned int, last_len)
19302661836eSTao Ma 	),
19312661836eSTao Ma 	TP_fast_assign(
19322661836eSTao Ma 		__entry->cstart = cstart;
19332661836eSTao Ma 		__entry->cend = cend;
19342661836eSTao Ma 		__entry->clen = clen;
19352661836eSTao Ma 		__entry->r_start = r_start;
19362661836eSTao Ma 		__entry->r_end = r_end;
19372661836eSTao Ma 		__entry->r_len = r_len;
19382661836eSTao Ma 		__entry->last_start = last_start;
19392661836eSTao Ma 		__entry->last_len = last_len;
19402661836eSTao Ma 	),
19412661836eSTao Ma 	TP_printk("%u %u %u %u %u %u %u %u",
19422661836eSTao Ma 		  __entry->cstart, __entry->cend, __entry->clen,
19432661836eSTao Ma 		  __entry->r_start, __entry->r_end, __entry->r_len,
19442661836eSTao Ma 		  __entry->last_start, __entry->last_len)
19452661836eSTao Ma );
19462661836eSTao Ma 
19472661836eSTao Ma TRACE_EVENT(ocfs2_resmap_claimed_bits_end,
19482661836eSTao Ma 	TP_PROTO(unsigned int start, unsigned int end, unsigned int len,
19492661836eSTao Ma 		 unsigned int last_start, unsigned int last_len),
19502661836eSTao Ma 	TP_ARGS(start, end, len, last_start, last_len),
19512661836eSTao Ma 	TP_STRUCT__entry(
19522661836eSTao Ma 		__field(unsigned int, start)
19532661836eSTao Ma 		__field(unsigned int, end)
19542661836eSTao Ma 		__field(unsigned int, len)
19552661836eSTao Ma 		__field(unsigned int, last_start)
19562661836eSTao Ma 		__field(unsigned int, last_len)
19572661836eSTao Ma 	),
19582661836eSTao Ma 	TP_fast_assign(
19592661836eSTao Ma 		__entry->start = start;
19602661836eSTao Ma 		__entry->end = end;
19612661836eSTao Ma 		__entry->len = len;
19622661836eSTao Ma 		__entry->last_start = last_start;
19632661836eSTao Ma 		__entry->last_len = last_len;
19642661836eSTao Ma 	),
19652661836eSTao Ma 	TP_printk("%u %u %u %u %u", __entry->start, __entry->end,
19662661836eSTao Ma 		  __entry->len, __entry->last_start, __entry->last_len)
196738877a43STao Ma );
196838877a43STao Ma 
196938877a43STao Ma /* End of trace events for fs/ocfs2/reservations.c. */
197038877a43STao Ma 
197138877a43STao Ma /* Trace events for fs/ocfs2/quota_local.c. */
197238877a43STao Ma 
197338877a43STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_recover_local_quota_file);
197438877a43STao Ma 
197538877a43STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_finish_quota_recovery);
197638877a43STao Ma 
19771db986a8STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(olq_set_dquot);
19781db986a8STao Ma 
19791db986a8STao Ma /* End of trace events for fs/ocfs2/quota_local.c. */
19801db986a8STao Ma 
19811db986a8STao Ma /* Trace events for fs/ocfs2/quota_global.c. */
19821db986a8STao Ma 
19831db986a8STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_quota_block);
19841db986a8STao Ma 
19851db986a8STao Ma TRACE_EVENT(ocfs2_sync_dquot,
19861db986a8STao Ma 	TP_PROTO(unsigned int dq_id, long long dqb_curspace,
19871db986a8STao Ma 		 long long spacechange, long long curinodes,
19881db986a8STao Ma 		 long long inodechange),
19891db986a8STao Ma 	TP_ARGS(dq_id, dqb_curspace, spacechange, curinodes, inodechange),
19901db986a8STao Ma 	TP_STRUCT__entry(
19911db986a8STao Ma 		__field(unsigned int, dq_id)
19921db986a8STao Ma 		__field(long long, dqb_curspace)
19931db986a8STao Ma 		__field(long long, spacechange)
19941db986a8STao Ma 		__field(long long, curinodes)
19951db986a8STao Ma 		__field(long long, inodechange)
19961db986a8STao Ma 	),
19971db986a8STao Ma 	TP_fast_assign(
19981db986a8STao Ma 		__entry->dq_id = dq_id;
19991db986a8STao Ma 		__entry->dqb_curspace = dqb_curspace;
20001db986a8STao Ma 		__entry->spacechange = spacechange;
20011db986a8STao Ma 		__entry->curinodes = curinodes;
20021db986a8STao Ma 		__entry->inodechange = inodechange;
20031db986a8STao Ma 	),
20041db986a8STao Ma 	TP_printk("%u %lld %lld %lld %lld", __entry->dq_id,
20051db986a8STao Ma 		  __entry->dqb_curspace, __entry->spacechange,
20061db986a8STao Ma 		  __entry->curinodes, __entry->inodechange)
20071db986a8STao Ma );
20081db986a8STao Ma 
20091db986a8STao Ma TRACE_EVENT(ocfs2_sync_dquot_helper,
20101db986a8STao Ma 	TP_PROTO(unsigned int dq_id, unsigned int dq_type, unsigned long type,
20111db986a8STao Ma 		 const char *s_id),
20121db986a8STao Ma 	TP_ARGS(dq_id, dq_type, type, s_id),
20131db986a8STao Ma 
20141db986a8STao Ma 	TP_STRUCT__entry(
20151db986a8STao Ma 		__field(unsigned int, dq_id)
20161db986a8STao Ma 		__field(unsigned int, dq_type)
20171db986a8STao Ma 		__field(unsigned long, type)
20181db986a8STao Ma 		__string(s_id, s_id)
20191db986a8STao Ma 	),
20201db986a8STao Ma 	TP_fast_assign(
20211db986a8STao Ma 		__entry->dq_id = dq_id;
20221db986a8STao Ma 		__entry->dq_type = dq_type;
20231db986a8STao Ma 		__entry->type = type;
20241db986a8STao Ma 		__assign_str(s_id, s_id);
20251db986a8STao Ma 	),
20261db986a8STao Ma 	TP_printk("%u %u %lu %s", __entry->dq_id, __entry->dq_type,
20271db986a8STao Ma 		  __entry->type, __get_str(s_id))
20281db986a8STao Ma );
20291db986a8STao Ma 
20301db986a8STao Ma DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_write_dquot);
20311db986a8STao Ma 
20321db986a8STao Ma DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_release_dquot);
20335a9530e4SJan Kara 
20345a9530e4SJan Kara DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_acquire_dquot);
20351db986a8STao Ma 
20361db986a8STao Ma DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_get_next_id);
20371db986a8STao Ma 
2038f1088d47STao Ma DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_mark_dquot_dirty);
2039f1088d47STao Ma 
2040f1088d47STao Ma /* End of trace events for fs/ocfs2/quota_global.c. */
2041f1088d47STao Ma 
2042f1088d47STao Ma /* Trace events for fs/ocfs2/dir.c. */
2043f1088d47STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_search_dirblock);
2044f1088d47STao Ma 
2045f1088d47STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_dir_block);
2046f1088d47STao Ma 
2047f1088d47STao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_find_entry_el);
2048f1088d47STao Ma 
2049f1088d47STao Ma TRACE_EVENT(ocfs2_dx_dir_search,
2050f1088d47STao Ma 	TP_PROTO(unsigned long long ino, int namelen, const char *name,
2051f1088d47STao Ma 		 unsigned int major_hash, unsigned int minor_hash,
2052f1088d47STao Ma 		 unsigned long long blkno),
2053f1088d47STao Ma 	TP_ARGS(ino, namelen, name, major_hash, minor_hash, blkno),
2054f1088d47STao Ma 	TP_STRUCT__entry(
2055f1088d47STao Ma 		__field(unsigned long long, ino)
2056f1088d47STao Ma 		__field(int, namelen)
2057f1088d47STao Ma 		__string(name, name)
2058f1088d47STao Ma 		__field(unsigned int, major_hash)
2059f1088d47STao Ma 		__field(unsigned int,minor_hash)
2060f1088d47STao Ma 		__field(unsigned long long, blkno)
2061f1088d47STao Ma 	),
2062f1088d47STao Ma 	TP_fast_assign(
2063f1088d47STao Ma 		__entry->ino = ino;
2064f1088d47STao Ma 		__entry->namelen = namelen;
2065f1088d47STao Ma 		__assign_str(name, name);
2066f1088d47STao Ma 		__entry->major_hash = major_hash;
2067f1088d47STao Ma 		__entry->minor_hash = minor_hash;
2068f1088d47STao Ma 		__entry->blkno = blkno;
2069f1088d47STao Ma 	),
2070f1088d47STao Ma 	TP_printk("%llu %.*s %u %u %llu", __entry->ino,
2071f1088d47STao Ma 		   __entry->namelen, __get_str(name),
2072f1088d47STao Ma 		  __entry->major_hash, __entry->minor_hash, __entry->blkno)
2073f1088d47STao Ma );
2074f1088d47STao Ma 
2075f1088d47STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_dx_dir_search_leaf_info);
2076f1088d47STao Ma 
2077f1088d47STao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_delete_entry_dx);
2078f1088d47STao Ma 
2079f1088d47STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_readdir);
2080f1088d47STao Ma 
2081f1088d47STao Ma TRACE_EVENT(ocfs2_find_files_on_disk,
2082f1088d47STao Ma 	TP_PROTO(int namelen, const char *name, void *blkno,
2083f1088d47STao Ma 		 unsigned long long dir),
2084f1088d47STao Ma 	TP_ARGS(namelen, name, blkno, dir),
2085f1088d47STao Ma 	TP_STRUCT__entry(
2086f1088d47STao Ma 		__field(int, namelen)
2087f1088d47STao Ma 		__string(name, name)
2088f1088d47STao Ma 		__field(void *, blkno)
2089f1088d47STao Ma 		__field(unsigned long long, dir)
2090f1088d47STao Ma 	),
2091f1088d47STao Ma 	TP_fast_assign(
2092f1088d47STao Ma 		__entry->namelen = namelen;
2093f1088d47STao Ma 		__assign_str(name, name);
2094f1088d47STao Ma 		__entry->blkno = blkno;
2095f1088d47STao Ma 		__entry->dir = dir;
2096f1088d47STao Ma 	),
2097f1088d47STao Ma 	TP_printk("%.*s %p %llu", __entry->namelen, __get_str(name),
2098f1088d47STao Ma 		  __entry->blkno, __entry->dir)
2099f1088d47STao Ma );
2100f1088d47STao Ma 
2101f1088d47STao Ma TRACE_EVENT(ocfs2_check_dir_for_entry,
2102f1088d47STao Ma 	TP_PROTO(unsigned long long dir, int namelen, const char *name),
2103f1088d47STao Ma 	TP_ARGS(dir, namelen, name),
2104f1088d47STao Ma 	TP_STRUCT__entry(
2105f1088d47STao Ma 		__field(unsigned long long, dir)
2106f1088d47STao Ma 		__field(int, namelen)
2107f1088d47STao Ma 		__string(name, name)
2108f1088d47STao Ma 	),
2109f1088d47STao Ma 	TP_fast_assign(
2110f1088d47STao Ma 		__entry->dir = dir;
2111f1088d47STao Ma 		__entry->namelen = namelen;
2112f1088d47STao Ma 		__assign_str(name, name);
2113f1088d47STao Ma 	),
2114f1088d47STao Ma 	TP_printk("%llu %.*s", __entry->dir,
2115f1088d47STao Ma 		  __entry->namelen, __get_str(name))
2116f1088d47STao Ma );
2117f1088d47STao Ma 
2118f1088d47STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_dx_dir_attach_index);
2119f1088d47STao Ma 
2120f1088d47STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_dx_dir_format_cluster);
2121f1088d47STao Ma 
2122f1088d47STao Ma TRACE_EVENT(ocfs2_dx_dir_index_root_block,
2123f1088d47STao Ma 	TP_PROTO(unsigned long long dir,
2124f1088d47STao Ma 		 unsigned int major_hash, unsigned int minor_hash,
2125f1088d47STao Ma 		 int namelen, const char *name, unsigned int num_used),
2126f1088d47STao Ma 	TP_ARGS(dir, major_hash, minor_hash, namelen, name, num_used),
2127f1088d47STao Ma 	TP_STRUCT__entry(
2128f1088d47STao Ma 		__field(unsigned long long, dir)
2129f1088d47STao Ma 		__field(unsigned int, major_hash)
2130f1088d47STao Ma 		__field(unsigned int, minor_hash)
2131f1088d47STao Ma 		__field(int, namelen)
2132f1088d47STao Ma 		__string(name, name)
2133f1088d47STao Ma 		__field(unsigned int, num_used)
2134f1088d47STao Ma 	),
2135f1088d47STao Ma 	TP_fast_assign(
2136f1088d47STao Ma 		__entry->dir = dir;
2137f1088d47STao Ma 		__entry->major_hash = major_hash;
2138f1088d47STao Ma 		__entry->minor_hash = minor_hash;
2139f1088d47STao Ma 		__entry->namelen = namelen;
2140f1088d47STao Ma 		__assign_str(name, name);
2141f1088d47STao Ma 		__entry->num_used = num_used;
2142f1088d47STao Ma 	),
2143f1088d47STao Ma 	TP_printk("%llu %x %x %.*s %u", __entry->dir,
2144f1088d47STao Ma 		  __entry->major_hash, __entry->minor_hash,
2145f1088d47STao Ma 		   __entry->namelen, __get_str(name), __entry->num_used)
2146f1088d47STao Ma );
2147f1088d47STao Ma 
2148f1088d47STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_extend_dir);
2149f1088d47STao Ma 
2150f1088d47STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_dx_dir_rebalance);
2151f1088d47STao Ma 
2152f1088d47STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_dx_dir_rebalance_split);
2153f1088d47STao Ma 
21548990e44aSTao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_prepare_dir_for_insert);
21558990e44aSTao Ma 
21568990e44aSTao Ma /* End of trace events for fs/ocfs2/dir.c. */
21578990e44aSTao Ma 
21588990e44aSTao Ma /* Trace events for fs/ocfs2/namei.c. */
21598990e44aSTao Ma 
21608990e44aSTao Ma DECLARE_EVENT_CLASS(ocfs2__dentry_ops,
21618990e44aSTao Ma 	TP_PROTO(void *dir, void *dentry, int name_len, const char *name,
21628990e44aSTao Ma 		 unsigned long long dir_blkno, unsigned long long extra),
21638990e44aSTao Ma 	TP_ARGS(dir, dentry, name_len, name, dir_blkno, extra),
21648990e44aSTao Ma 	TP_STRUCT__entry(
21658990e44aSTao Ma 		__field(void *, dir)
21668990e44aSTao Ma 		__field(void *, dentry)
21678990e44aSTao Ma 		__field(int, name_len)
21688990e44aSTao Ma 		__string(name, name)
21698990e44aSTao Ma 		__field(unsigned long long, dir_blkno)
21708990e44aSTao Ma 		__field(unsigned long long, extra)
21718990e44aSTao Ma 	),
21728990e44aSTao Ma 	TP_fast_assign(
21738990e44aSTao Ma 		__entry->dir = dir;
21748990e44aSTao Ma 		__entry->dentry = dentry;
21758990e44aSTao Ma 		__entry->name_len = name_len;
21768990e44aSTao Ma 		__assign_str(name, name);
21778990e44aSTao Ma 		__entry->dir_blkno = dir_blkno;
21788990e44aSTao Ma 		__entry->extra = extra;
21798990e44aSTao Ma 	),
21808990e44aSTao Ma 	TP_printk("%p %p %.*s %llu %llu", __entry->dir, __entry->dentry,
21818990e44aSTao Ma 		  __entry->name_len, __get_str(name),
21828990e44aSTao Ma 		  __entry->dir_blkno, __entry->extra)
21838990e44aSTao Ma );
21848990e44aSTao Ma 
21858990e44aSTao Ma #define DEFINE_OCFS2_DENTRY_OPS(name)					\
21868990e44aSTao Ma DEFINE_EVENT(ocfs2__dentry_ops, name,					\
21878990e44aSTao Ma TP_PROTO(void *dir, void *dentry, int name_len, const char *name,	\
21888990e44aSTao Ma 	 unsigned long long dir_blkno, unsigned long long extra),	\
21898990e44aSTao Ma 	TP_ARGS(dir, dentry, name_len, name, dir_blkno, extra))
21908990e44aSTao Ma 
21918990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_lookup);
21928990e44aSTao Ma 
21938990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_mkdir);
21948990e44aSTao Ma 
21958990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_create);
21968990e44aSTao Ma 
21978990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_unlink);
21988990e44aSTao Ma 
21998990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_symlink_create);
22008990e44aSTao Ma 
22018990e44aSTao Ma DEFINE_OCFS2_DENTRY_OPS(ocfs2_mv_orphaned_inode_to_new);
22028990e44aSTao Ma 
22038990e44aSTao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_lookup_ret);
22048990e44aSTao Ma 
22058990e44aSTao Ma TRACE_EVENT(ocfs2_mknod,
22068990e44aSTao Ma 	TP_PROTO(void *dir, void *dentry, int name_len, const char *name,
22078990e44aSTao Ma 		 unsigned long long dir_blkno, unsigned long dev, int mode),
22088990e44aSTao Ma 	TP_ARGS(dir, dentry, name_len, name, dir_blkno, dev, mode),
22098990e44aSTao Ma 	TP_STRUCT__entry(
22108990e44aSTao Ma 		__field(void *, dir)
22118990e44aSTao Ma 		__field(void *, dentry)
22128990e44aSTao Ma 		__field(int, name_len)
22138990e44aSTao Ma 		__string(name, name)
22148990e44aSTao Ma 		__field(unsigned long long, dir_blkno)
22158990e44aSTao Ma 		__field(unsigned long, dev)
22168990e44aSTao Ma 		__field(int, mode)
22178990e44aSTao Ma 	),
22188990e44aSTao Ma 	TP_fast_assign(
22198990e44aSTao Ma 		__entry->dir = dir;
22208990e44aSTao Ma 		__entry->dentry = dentry;
22218990e44aSTao Ma 		__entry->name_len = name_len;
22228990e44aSTao Ma 		__assign_str(name, name);
22238990e44aSTao Ma 		__entry->dir_blkno = dir_blkno;
22248990e44aSTao Ma 		__entry->dev = dev;
22258990e44aSTao Ma 		__entry->mode = mode;
22268990e44aSTao Ma 	),
22278990e44aSTao Ma 	TP_printk("%p %p %.*s %llu %lu %d", __entry->dir, __entry->dentry,
22288990e44aSTao Ma 		  __entry->name_len, __get_str(name),
22298990e44aSTao Ma 		  __entry->dir_blkno, __entry->dev, __entry->mode)
22308990e44aSTao Ma );
22318990e44aSTao Ma 
22328990e44aSTao Ma TRACE_EVENT(ocfs2_link,
22338990e44aSTao Ma 	TP_PROTO(unsigned long long ino, int old_len, const char *old_name,
22348990e44aSTao Ma 		 int name_len, const char *name),
22358990e44aSTao Ma 	TP_ARGS(ino, old_len, old_name, name_len, name),
22368990e44aSTao Ma 	TP_STRUCT__entry(
22378990e44aSTao Ma 		__field(unsigned long long, ino)
22388990e44aSTao Ma 		__field(int, old_len)
22398990e44aSTao Ma 		__string(old_name, old_name)
22408990e44aSTao Ma 		__field(int, name_len)
22418990e44aSTao Ma 		__string(name, name)
22428990e44aSTao Ma 	),
22438990e44aSTao Ma 	TP_fast_assign(
22448990e44aSTao Ma 		__entry->ino = ino;
22458990e44aSTao Ma 		__entry->old_len = old_len;
22468990e44aSTao Ma 		__assign_str(old_name, old_name);
22478990e44aSTao Ma 		__entry->name_len = name_len;
22488990e44aSTao Ma 		__assign_str(name, name);
22498990e44aSTao Ma 	),
22508990e44aSTao Ma 	TP_printk("%llu %.*s %.*s", __entry->ino,
22518990e44aSTao Ma 		  __entry->old_len, __get_str(old_name),
22528990e44aSTao Ma 		  __entry->name_len, __get_str(name))
22538990e44aSTao Ma );
22548990e44aSTao Ma 
22558990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_unlink_noent);
22568990e44aSTao Ma 
22578990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_double_lock);
22588990e44aSTao Ma 
22598990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_double_lock_end);
22608990e44aSTao Ma 
22618990e44aSTao Ma TRACE_EVENT(ocfs2_rename,
22628990e44aSTao Ma 	TP_PROTO(void *old_dir, void *old_dentry,
22638990e44aSTao Ma 		 void *new_dir, void *new_dentry,
22648990e44aSTao Ma 		 int old_len, const char *old_name,
22658990e44aSTao Ma 		 int new_len, const char *new_name),
22668990e44aSTao Ma 	TP_ARGS(old_dir, old_dentry, new_dir, new_dentry,
22678990e44aSTao Ma 		old_len, old_name, new_len, new_name),
22688990e44aSTao Ma 	TP_STRUCT__entry(
22698990e44aSTao Ma 		__field(void *, old_dir)
22708990e44aSTao Ma 		__field(void *, old_dentry)
22718990e44aSTao Ma 		__field(void *, new_dir)
22728990e44aSTao Ma 		__field(void *, new_dentry)
22738990e44aSTao Ma 		__field(int, old_len)
22748990e44aSTao Ma 		__string(old_name, old_name)
22758990e44aSTao Ma 		__field(int, new_len)
22768990e44aSTao Ma 		__string(new_name, new_name)
22778990e44aSTao Ma 	),
22788990e44aSTao Ma 	TP_fast_assign(
22798990e44aSTao Ma 		__entry->old_dir = old_dir;
22808990e44aSTao Ma 		__entry->old_dentry = old_dentry;
22818990e44aSTao Ma 		__entry->new_dir = new_dir;
22828990e44aSTao Ma 		__entry->new_dentry = new_dentry;
22838990e44aSTao Ma 		__entry->old_len = old_len;
22848990e44aSTao Ma 		__assign_str(old_name, old_name);
22858990e44aSTao Ma 		__entry->new_len = new_len;
22868990e44aSTao Ma 		__assign_str(new_name, new_name);
22878990e44aSTao Ma 	),
22888990e44aSTao Ma 	TP_printk("%p %p %p %p %.*s %.*s",
22898990e44aSTao Ma 		  __entry->old_dir, __entry->old_dentry,
22908990e44aSTao Ma 		  __entry->new_dir, __entry->new_dentry,
22918990e44aSTao Ma 		  __entry->old_len, __get_str(old_name),
2292f7a14f32SYiwen Jiang 		  __entry->new_len, __get_str(new_name))
2293f7a14f32SYiwen Jiang );
22948990e44aSTao Ma 
22958990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_rename_not_permitted);
22968990e44aSTao Ma 
22978990e44aSTao Ma TRACE_EVENT(ocfs2_rename_target_exists,
22988990e44aSTao Ma 	TP_PROTO(int new_len, const char *new_name),
22998990e44aSTao Ma 	TP_ARGS(new_len, new_name),
23008990e44aSTao Ma 	TP_STRUCT__entry(
23018990e44aSTao Ma 		__field(int, new_len)
23028990e44aSTao Ma 		__string(new_name, new_name)
23038990e44aSTao Ma 	),
23048990e44aSTao Ma 	TP_fast_assign(
23058990e44aSTao Ma 		__entry->new_len = new_len;
23068990e44aSTao Ma 		__assign_str(new_name, new_name);
23078990e44aSTao Ma 	),
23088990e44aSTao Ma 	TP_printk("%.*s", __entry->new_len, __get_str(new_name))
23098990e44aSTao Ma );
23108990e44aSTao Ma 
23118990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_rename_disagree);
23128990e44aSTao Ma 
23138990e44aSTao Ma TRACE_EVENT(ocfs2_rename_over_existing,
23148990e44aSTao Ma 	TP_PROTO(unsigned long long new_blkno, void *new_bh,
23158990e44aSTao Ma 		 unsigned long long newdi_blkno),
23168990e44aSTao Ma 	TP_ARGS(new_blkno, new_bh, newdi_blkno),
23178990e44aSTao Ma 	TP_STRUCT__entry(
23188990e44aSTao Ma 		__field(unsigned long long, new_blkno)
23198990e44aSTao Ma 		__field(void *, new_bh)
23208990e44aSTao Ma 		__field(unsigned long long, newdi_blkno)
23218990e44aSTao Ma 	),
23228990e44aSTao Ma 	TP_fast_assign(
23238990e44aSTao Ma 		__entry->new_blkno = new_blkno;
23248990e44aSTao Ma 		__entry->new_bh = new_bh;
23258990e44aSTao Ma 		__entry->newdi_blkno = newdi_blkno;
23268990e44aSTao Ma 	),
23278990e44aSTao Ma 	TP_printk("%llu %p %llu", __entry->new_blkno, __entry->new_bh,
23288990e44aSTao Ma 		  __entry->newdi_blkno)
23298990e44aSTao Ma );
23308990e44aSTao Ma 
23318990e44aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_create_symlink_data);
23328990e44aSTao Ma 
23338990e44aSTao Ma TRACE_EVENT(ocfs2_symlink_begin,
23348990e44aSTao Ma 	TP_PROTO(void *dir, void *dentry, const char *symname,
23358990e44aSTao Ma 		 int len, const char *name),
23368990e44aSTao Ma 	TP_ARGS(dir, dentry, symname, len, name),
23378990e44aSTao Ma 	TP_STRUCT__entry(
23388990e44aSTao Ma 		__field(void *, dir)
23398990e44aSTao Ma 		__field(void *, dentry)
23408990e44aSTao Ma 		__field(const char *, symname)
23418990e44aSTao Ma 		__field(int, len)
23428990e44aSTao Ma 		__string(name, name)
23438990e44aSTao Ma 	),
23448990e44aSTao Ma 	TP_fast_assign(
23458990e44aSTao Ma 		__entry->dir = dir;
23468990e44aSTao Ma 		__entry->dentry = dentry;
23478990e44aSTao Ma 		__entry->symname = symname;
23488990e44aSTao Ma 		__entry->len = len;
23498990e44aSTao Ma 		__assign_str(name, name);
23508990e44aSTao Ma 	),
23518990e44aSTao Ma 	TP_printk("%p %p %s %.*s", __entry->dir, __entry->dentry,
23528990e44aSTao Ma 		  __entry->symname, __entry->len, __get_str(name))
23538990e44aSTao Ma );
23548990e44aSTao Ma 
23558990e44aSTao Ma TRACE_EVENT(ocfs2_blkno_stringify,
23568990e44aSTao Ma 	TP_PROTO(unsigned long long blkno, const char *name, int namelen),
23578990e44aSTao Ma 	TP_ARGS(blkno, name, namelen),
23588990e44aSTao Ma 	TP_STRUCT__entry(
23598990e44aSTao Ma 		__field(unsigned long long, blkno)
23608990e44aSTao Ma 		__string(name, name)
23618990e44aSTao Ma 		__field(int, namelen)
23628990e44aSTao Ma 	),
23638990e44aSTao Ma 	TP_fast_assign(
23648990e44aSTao Ma 		__entry->blkno = blkno;
23658990e44aSTao Ma 		__assign_str(name, name);
23668990e44aSTao Ma 		__entry->namelen = namelen;
23678990e44aSTao Ma 	),
23688990e44aSTao Ma 	TP_printk("%llu %s %d", __entry->blkno, __get_str(name),
23698990e44aSTao Ma 		  __entry->namelen)
23708990e44aSTao Ma );
23718990e44aSTao Ma 
23728990e44aSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_orphan_add_begin);
23738990e44aSTao Ma 
23748990e44aSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_orphan_add_end);
23758990e44aSTao Ma 
23768990e44aSTao Ma TRACE_EVENT(ocfs2_orphan_del,
23778990e44aSTao Ma 	TP_PROTO(unsigned long long dir, const char *name, int namelen),
23788990e44aSTao Ma 	TP_ARGS(dir, name, namelen),
23798990e44aSTao Ma 	TP_STRUCT__entry(
23808990e44aSTao Ma 		__field(unsigned long long, dir)
23818990e44aSTao Ma 		__string(name, name)
23828990e44aSTao Ma 		__field(int, namelen)
23838990e44aSTao Ma 	),
23848990e44aSTao Ma 	TP_fast_assign(
23858990e44aSTao Ma 		__entry->dir = dir;
23868990e44aSTao Ma 		__assign_str(name, name);
23878990e44aSTao Ma 		__entry->namelen = namelen;
23888990e44aSTao Ma 	),
23898990e44aSTao Ma 	TP_printk("%llu %s %d", __entry->dir, __get_str(name),
23908990e44aSTao Ma 		  __entry->namelen)
2391a5b8443bSTao Ma );
2392a5b8443bSTao Ma 
2393a5b8443bSTao Ma /* End of trace events for fs/ocfs2/namei.c. */
2394a5b8443bSTao Ma 
2395a5b8443bSTao Ma /* Trace events for fs/ocfs2/dcache.c. */
2396a5b8443bSTao Ma 
2397a5b8443bSTao Ma TRACE_EVENT(ocfs2_dentry_revalidate,
2398a5b8443bSTao Ma 	TP_PROTO(void *dentry, int len, const char *name),
2399a5b8443bSTao Ma 	TP_ARGS(dentry, len, name),
2400a5b8443bSTao Ma 	TP_STRUCT__entry(
2401a5b8443bSTao Ma 		__field(void *, dentry)
2402a5b8443bSTao Ma 		__field(int, len)
2403a5b8443bSTao Ma 		__string(name, name)
2404a5b8443bSTao Ma 	),
2405a5b8443bSTao Ma 	TP_fast_assign(
2406a5b8443bSTao Ma 		__entry->dentry = dentry;
2407a5b8443bSTao Ma 		__entry->len = len;
2408a5b8443bSTao Ma 		__assign_str(name, name);
2409a5b8443bSTao Ma 	),
2410a5b8443bSTao Ma 	TP_printk("%p %.*s", __entry->dentry, __entry->len, __get_str(name))
2411a5b8443bSTao Ma );
2412a5b8443bSTao Ma 
2413a5b8443bSTao Ma TRACE_EVENT(ocfs2_dentry_revalidate_negative,
2414a5b8443bSTao Ma 	TP_PROTO(int len, const char *name, unsigned long pgen,
2415a5b8443bSTao Ma 		 unsigned long gen),
2416a5b8443bSTao Ma 	TP_ARGS(len, name, pgen, gen),
2417a5b8443bSTao Ma 	TP_STRUCT__entry(
2418a5b8443bSTao Ma 		__field(int, len)
2419a5b8443bSTao Ma 		__string(name, name)
2420a5b8443bSTao Ma 		__field(unsigned long, pgen)
2421a5b8443bSTao Ma 		__field(unsigned long, gen)
2422a5b8443bSTao Ma 	),
2423a5b8443bSTao Ma 	TP_fast_assign(
2424a5b8443bSTao Ma 		__entry->len = len;
2425a5b8443bSTao Ma 		__assign_str(name, name);
2426a5b8443bSTao Ma 		__entry->pgen = pgen;
2427a5b8443bSTao Ma 		__entry->gen = gen;
2428a5b8443bSTao Ma 	),
2429a5b8443bSTao Ma 	TP_printk("%.*s %lu %lu", __entry->len, __get_str(name),
2430a5b8443bSTao Ma 		  __entry->pgen, __entry->gen)
2431a5b8443bSTao Ma );
2432a5b8443bSTao Ma 
2433a5b8443bSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_dentry_revalidate_delete);
2434a5b8443bSTao Ma 
2435a5b8443bSTao Ma DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_dentry_revalidate_orphaned);
2436a5b8443bSTao Ma 
2437a5b8443bSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_dentry_revalidate_nofsdata);
2438a5b8443bSTao Ma 
2439a5b8443bSTao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_dentry_revalidate_ret);
2440a5b8443bSTao Ma 
2441a5b8443bSTao Ma TRACE_EVENT(ocfs2_find_local_alias,
2442a5b8443bSTao Ma 	TP_PROTO(int len, const char *name),
2443a5b8443bSTao Ma 	TP_ARGS(len, name),
2444a5b8443bSTao Ma 	TP_STRUCT__entry(
2445a5b8443bSTao Ma 		__field(int, len)
2446a5b8443bSTao Ma 		__string(name, name)
2447a5b8443bSTao Ma 	),
2448a5b8443bSTao Ma 	TP_fast_assign(
2449a5b8443bSTao Ma 		__entry->len = len;
2450a5b8443bSTao Ma 		__assign_str(name, name);
2451a5b8443bSTao Ma 	),
2452a5b8443bSTao Ma 	TP_printk("%.*s", __entry->len, __get_str(name))
2453a5b8443bSTao Ma );
2454a5b8443bSTao Ma 
2455a5b8443bSTao Ma TRACE_EVENT(ocfs2_dentry_attach_lock,
2456a5b8443bSTao Ma 	TP_PROTO(int len, const char *name,
2457a5b8443bSTao Ma 		 unsigned long long parent, void *fsdata),
2458a5b8443bSTao Ma 	TP_ARGS(len, name, parent, fsdata),
2459a5b8443bSTao Ma 	TP_STRUCT__entry(
2460a5b8443bSTao Ma 		__field(int, len)
2461a5b8443bSTao Ma 		__string(name, name)
2462a5b8443bSTao Ma 		__field(unsigned long long, parent)
2463a5b8443bSTao Ma 		__field(void *, fsdata)
2464a5b8443bSTao Ma 	),
2465a5b8443bSTao Ma 	TP_fast_assign(
2466a5b8443bSTao Ma 		__entry->len = len;
2467a5b8443bSTao Ma 		__assign_str(name, name);
2468a5b8443bSTao Ma 		__entry->parent = parent;
2469a5b8443bSTao Ma 		__entry->fsdata = fsdata;
2470a5b8443bSTao Ma 	),
2471a5b8443bSTao Ma 	TP_printk("%.*s %llu %p", __entry->len, __get_str(name),
2472a5b8443bSTao Ma 		  __entry->parent, __entry->fsdata)
2473a5b8443bSTao Ma );
2474a5b8443bSTao Ma 
2475a5b8443bSTao Ma TRACE_EVENT(ocfs2_dentry_attach_lock_found,
2476a5b8443bSTao Ma 	TP_PROTO(const char *name, unsigned long long parent,
2477a5b8443bSTao Ma 		 unsigned long long ino),
2478a5b8443bSTao Ma 	TP_ARGS(name, parent, ino),
2479a5b8443bSTao Ma 	TP_STRUCT__entry(
2480a5b8443bSTao Ma 		__string(name, name)
2481a5b8443bSTao Ma 		__field(unsigned long long, parent)
2482a5b8443bSTao Ma 		__field(unsigned long long, ino)
2483a5b8443bSTao Ma 	),
2484a5b8443bSTao Ma 	TP_fast_assign(
2485a5b8443bSTao Ma 		__assign_str(name, name);
2486a5b8443bSTao Ma 		__entry->parent = parent;
2487a5b8443bSTao Ma 		__entry->ino = ino;
2488a5b8443bSTao Ma 	),
2489781f200cSTao Ma 	TP_printk("%s %llu %llu", __get_str(name), __entry->parent, __entry->ino)
2490781f200cSTao Ma );
2491781f200cSTao Ma /* End of trace events for fs/ocfs2/dcache.c. */
2492781f200cSTao Ma 
2493781f200cSTao Ma /* Trace events for fs/ocfs2/export.c. */
2494781f200cSTao Ma 
2495781f200cSTao Ma TRACE_EVENT(ocfs2_get_dentry_begin,
2496781f200cSTao Ma 	TP_PROTO(void *sb, void *handle, unsigned long long blkno),
2497781f200cSTao Ma 	TP_ARGS(sb, handle, blkno),
2498781f200cSTao Ma 	TP_STRUCT__entry(
2499781f200cSTao Ma 		__field(void *, sb)
2500781f200cSTao Ma 		__field(void *, handle)
2501781f200cSTao Ma 		__field(unsigned long long, blkno)
2502781f200cSTao Ma 	),
2503781f200cSTao Ma 	TP_fast_assign(
2504781f200cSTao Ma 		__entry->sb = sb;
2505781f200cSTao Ma 		__entry->handle = handle;
2506781f200cSTao Ma 		__entry->blkno = blkno;
2507781f200cSTao Ma 	),
2508781f200cSTao Ma 	TP_printk("%p %p %llu", __entry->sb, __entry->handle, __entry->blkno)
2509781f200cSTao Ma );
2510781f200cSTao Ma 
2511781f200cSTao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_get_dentry_test_bit);
2512781f200cSTao Ma 
2513781f200cSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_get_dentry_stale);
2514781f200cSTao Ma 
2515781f200cSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_get_dentry_generation);
2516781f200cSTao Ma 
2517781f200cSTao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_get_dentry_end);
2518781f200cSTao Ma 
2519781f200cSTao Ma TRACE_EVENT(ocfs2_get_parent,
2520781f200cSTao Ma 	TP_PROTO(void *child, int len, const char *name,
2521781f200cSTao Ma 		 unsigned long long ino),
2522781f200cSTao Ma 	TP_ARGS(child, len, name, ino),
2523781f200cSTao Ma 	TP_STRUCT__entry(
2524781f200cSTao Ma 		__field(void *,	child)
2525781f200cSTao Ma 		__field(int, len)
2526781f200cSTao Ma 		__string(name, name)
2527781f200cSTao Ma 		__field(unsigned long long, ino)
2528781f200cSTao Ma 	),
2529781f200cSTao Ma 	TP_fast_assign(
2530781f200cSTao Ma 		__entry->child = child;
2531781f200cSTao Ma 		__entry->len = len;
2532781f200cSTao Ma 		__assign_str(name, name);
2533781f200cSTao Ma 		__entry->ino = ino;
2534781f200cSTao Ma 	),
2535781f200cSTao Ma 	TP_printk("%p %.*s %llu", __entry->child, __entry->len,
2536781f200cSTao Ma 		  __get_str(name), __entry->ino)
2537781f200cSTao Ma );
2538781f200cSTao Ma 
2539781f200cSTao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_get_parent_end);
2540781f200cSTao Ma 
2541781f200cSTao Ma TRACE_EVENT(ocfs2_encode_fh_begin,
2542781f200cSTao Ma 	TP_PROTO(void *dentry, int name_len, const char *name,
2543781f200cSTao Ma 		 void *fh, int len, int connectable),
2544781f200cSTao Ma 	TP_ARGS(dentry, name_len, name, fh, len, connectable),
2545781f200cSTao Ma 	TP_STRUCT__entry(
2546781f200cSTao Ma 		__field(void *, dentry)
2547781f200cSTao Ma 		__field(int, name_len)
2548781f200cSTao Ma 		__string(name, name)
2549781f200cSTao Ma 		__field(void *, fh)
2550781f200cSTao Ma 		__field(int, len)
2551781f200cSTao Ma 		__field(int, connectable)
2552781f200cSTao Ma 	),
2553781f200cSTao Ma 	TP_fast_assign(
2554781f200cSTao Ma 		__entry->dentry = dentry;
2555781f200cSTao Ma 		__entry->name_len = name_len;
2556781f200cSTao Ma 		__assign_str(name, name);
2557781f200cSTao Ma 		__entry->fh = fh;
2558781f200cSTao Ma 		__entry->len = len;
2559781f200cSTao Ma 		__entry->connectable = connectable;
2560781f200cSTao Ma 	),
2561781f200cSTao Ma 	TP_printk("%p %.*s %p %d %d", __entry->dentry, __entry->name_len,
2562781f200cSTao Ma 		  __get_str(name), __entry->fh, __entry->len,
2563781f200cSTao Ma 		  __entry->connectable)
2564781f200cSTao Ma );
2565781f200cSTao Ma 
2566781f200cSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_encode_fh_self);
2567781f200cSTao Ma 
2568781f200cSTao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_encode_fh_parent);
2569781f200cSTao Ma 
2570b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_encode_fh_type);
2571b4107950STao Ma 
2572b4107950STao Ma /* End of trace events for fs/ocfs2/export.c. */
2573b4107950STao Ma 
2574b4107950STao Ma /* Trace events for fs/ocfs2/journal.c. */
2575b4107950STao Ma 
2576b4107950STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_commit_cache_begin);
2577b4107950STao Ma 
2578b4107950STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_commit_cache_end);
2579b4107950STao Ma 
2580b4107950STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_extend_trans);
25812b1e55c3SYounger Liu 
25822b1e55c3SYounger Liu DEFINE_OCFS2_INT_EVENT(ocfs2_extend_trans_restart);
2583b4107950STao Ma 
2584b4107950STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_allocate_extend_trans);
2585b4107950STao Ma 
2586b4107950STao Ma DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_journal_access);
2587b4107950STao Ma 
2588b4107950STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_journal_dirty);
2589b4107950STao Ma 
2590b4107950STao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_journal_init);
2591b4107950STao Ma 
2592b4107950STao Ma DEFINE_OCFS2_UINT_EVENT(ocfs2_journal_init_maxlen);
2593b4107950STao Ma 
2594b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_journal_shutdown);
2595b4107950STao Ma 
2596b4107950STao Ma DEFINE_OCFS2_POINTER_EVENT(ocfs2_journal_shutdown_wait);
2597b4107950STao Ma 
2598b4107950STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_complete_recovery);
2599b4107950STao Ma 
2600b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_complete_recovery_end);
2601b4107950STao Ma 
2602b4107950STao Ma TRACE_EVENT(ocfs2_complete_recovery_slot,
2603b4107950STao Ma 	TP_PROTO(int slot, unsigned long long la_ino,
2604b4107950STao Ma 		 unsigned long long tl_ino, void *qrec),
2605b4107950STao Ma 	TP_ARGS(slot, la_ino, tl_ino, qrec),
2606b4107950STao Ma 	TP_STRUCT__entry(
2607b4107950STao Ma 		__field(int, slot)
2608b4107950STao Ma 		__field(unsigned long long, la_ino)
2609b4107950STao Ma 		__field(unsigned long long, tl_ino)
2610b4107950STao Ma 		__field(void *, qrec)
2611b4107950STao Ma 	),
2612b4107950STao Ma 	TP_fast_assign(
2613b4107950STao Ma 		__entry->slot = slot;
2614b4107950STao Ma 		__entry->la_ino = la_ino;
2615b4107950STao Ma 		__entry->tl_ino = tl_ino;
2616b4107950STao Ma 		__entry->qrec = qrec;
2617b4107950STao Ma 	),
2618b4107950STao Ma 	TP_printk("%d %llu %llu %p", __entry->slot, __entry->la_ino,
2619b4107950STao Ma 		  __entry->tl_ino, __entry->qrec)
2620b4107950STao Ma );
2621b4107950STao Ma 
2622b4107950STao Ma DEFINE_OCFS2_INT_INT_EVENT(ocfs2_recovery_thread_node);
2623b4107950STao Ma 
2624b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_recovery_thread_end);
2625b4107950STao Ma 
2626b4107950STao Ma TRACE_EVENT(ocfs2_recovery_thread,
2627b4107950STao Ma 	TP_PROTO(int node_num, int osb_node_num, int disable,
2628b4107950STao Ma 		 void *recovery_thread, int map_set),
2629b4107950STao Ma 	TP_ARGS(node_num, osb_node_num, disable, recovery_thread, map_set),
2630b4107950STao Ma 	TP_STRUCT__entry(
2631b4107950STao Ma 		__field(int, node_num)
2632b4107950STao Ma 		__field(int, osb_node_num)
2633b4107950STao Ma 		__field(int,disable)
2634b4107950STao Ma 		__field(void *, recovery_thread)
2635b4107950STao Ma 		__field(int,map_set)
2636b4107950STao Ma 	),
2637b4107950STao Ma 	TP_fast_assign(
2638b4107950STao Ma 		__entry->node_num = node_num;
2639b4107950STao Ma 		__entry->osb_node_num = osb_node_num;
2640b4107950STao Ma 		__entry->disable = disable;
2641b4107950STao Ma 		__entry->recovery_thread = recovery_thread;
2642b4107950STao Ma 		__entry->map_set = map_set;
2643b4107950STao Ma 	),
2644b4107950STao Ma 	TP_printk("%d %d %d %p %d", __entry->node_num,
2645b4107950STao Ma 		   __entry->osb_node_num, __entry->disable,
2646b4107950STao Ma 		   __entry->recovery_thread, __entry->map_set)
2647b4107950STao Ma );
2648b4107950STao Ma 
2649b4107950STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_replay_journal_recovered);
2650b4107950STao Ma 
2651b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_replay_journal_lock_err);
2652b4107950STao Ma 
2653b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_replay_journal_skip);
2654b4107950STao Ma 
2655b4107950STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_recover_node);
2656b4107950STao Ma 
2657b4107950STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_recover_node_skip);
2658b4107950STao Ma 
2659b4107950STao Ma DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_mark_dead_nodes);
2660b4107950STao Ma 
2661b4107950STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_queue_orphan_scan_begin);
2662b4107950STao Ma 
2663b4107950STao Ma DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_queue_orphan_scan_end);
2664b4107950STao Ma 
2665b4107950STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_orphan_filldir);
2666b4107950STao Ma 
2667b4107950STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_recover_orphans);
2668b4107950STao Ma 
2669b4107950STao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_recover_orphans_iput);
2670b4107950STao Ma 
267115057e98STao Ma DEFINE_OCFS2_INT_EVENT(ocfs2_wait_on_mount);
267215057e98STao Ma 
267315057e98STao Ma /* End of trace events for fs/ocfs2/journal.c. */
267415057e98STao Ma 
267515057e98STao Ma /* Trace events for fs/ocfs2/buffer_head_io.c. */
267615057e98STao Ma 
267715057e98STao Ma DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_read_blocks_sync);
2678d701485aSTao Ma 
2679d701485aSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_read_blocks_sync_jbd);
268015057e98STao Ma 
268115057e98STao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_read_blocks_from_disk);
268215057e98STao Ma 
268315057e98STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_bh);
268415057e98STao Ma 
268515057e98STao Ma DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_end);
268615057e98STao Ma 
268715057e98STao Ma TRACE_EVENT(ocfs2_write_block,
268815057e98STao Ma 	TP_PROTO(unsigned long long block, void *ci),
268915057e98STao Ma 	TP_ARGS(block, ci),
269015057e98STao Ma 	TP_STRUCT__entry(
269115057e98STao Ma 		__field(unsigned long long, block)
269215057e98STao Ma 		__field(void *, ci)
269315057e98STao Ma 	),
269415057e98STao Ma 	TP_fast_assign(
269515057e98STao Ma 		__entry->block = block;
269615057e98STao Ma 		__entry->ci = ci;
269715057e98STao Ma 	),
269815057e98STao Ma 	TP_printk("%llu %p", __entry->block, __entry->ci)
269915057e98STao Ma );
270015057e98STao Ma 
270115057e98STao Ma TRACE_EVENT(ocfs2_read_blocks_begin,
270215057e98STao Ma 	TP_PROTO(void *ci, unsigned long long block,
270315057e98STao Ma 		 unsigned int nr, int flags),
270415057e98STao Ma 	TP_ARGS(ci, block, nr, flags),
270515057e98STao Ma 	TP_STRUCT__entry(
270615057e98STao Ma 		__field(void *, ci)
270715057e98STao Ma 		__field(unsigned long long, block)
270815057e98STao Ma 		__field(unsigned int, nr)
270915057e98STao Ma 		__field(int, flags)
271015057e98STao Ma 	),
271115057e98STao Ma 	TP_fast_assign(
271215057e98STao Ma 		__entry->ci = ci;
271315057e98STao Ma 		__entry->block = block;
271415057e98STao Ma 		__entry->nr = nr;
271515057e98STao Ma 		__entry->flags = flags;
271615057e98STao Ma 	),
271715057e98STao Ma 	TP_printk("%p %llu %u %d", __entry->ci, __entry->block,
271815057e98STao Ma 		  __entry->nr, __entry->flags)
2719d701485aSTao Ma );
2720d701485aSTao Ma 
2721d701485aSTao Ma /* End of trace events for fs/ocfs2/buffer_head_io.c. */
2722d701485aSTao Ma 
2723d701485aSTao Ma /* Trace events for fs/ocfs2/uptodate.c. */
2724d701485aSTao Ma 
2725d701485aSTao Ma DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_copied_metadata_tree);
2726d701485aSTao Ma 
2727d701485aSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_metadata_cache_purge);
2728d701485aSTao Ma 
2729d701485aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_buffer_cached_begin);
2730d701485aSTao Ma 
2731d701485aSTao Ma TRACE_EVENT(ocfs2_buffer_cached_end,
2732d701485aSTao Ma 	TP_PROTO(int index, void *item),
2733d701485aSTao Ma 	TP_ARGS(index, item),
2734d701485aSTao Ma 	TP_STRUCT__entry(
2735d701485aSTao Ma 		__field(int, index)
2736d701485aSTao Ma 		__field(void *, item)
2737d701485aSTao Ma 	),
2738d701485aSTao Ma 	TP_fast_assign(
2739d701485aSTao Ma 		__entry->index = index;
2740d701485aSTao Ma 		__entry->item = item;
2741d701485aSTao Ma 	),
2742d701485aSTao Ma 	TP_printk("%d %p", __entry->index, __entry->item)
2743d701485aSTao Ma );
2744d701485aSTao Ma 
2745d701485aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_append_cache_array);
2746d701485aSTao Ma 
2747d701485aSTao Ma DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_insert_cache_tree);
2748d701485aSTao Ma 
2749d701485aSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_expand_cache);
2750d701485aSTao Ma 
2751d701485aSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_set_buffer_uptodate);
2752d701485aSTao Ma 
2753d701485aSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_set_buffer_uptodate_begin);
2754d701485aSTao Ma 
2755d701485aSTao Ma DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_remove_metadata_array);
2756d701485aSTao Ma 
2757d701485aSTao Ma DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_remove_metadata_tree);
2758d701485aSTao Ma 
275980a9a84dSWengang Wang DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_remove_block_from_cache);
276080a9a84dSWengang Wang 
276180a9a84dSWengang Wang /* End of trace events for fs/ocfs2/uptodate.c. */
276280a9a84dSWengang Wang #endif /* _TRACE_OCFS2_H */
276380a9a84dSWengang Wang 
276480a9a84dSWengang Wang /* This part must be outside protection */
276580a9a84dSWengang Wang #undef TRACE_INCLUDE_PATH
2766 #define TRACE_INCLUDE_PATH .
2767 #define TRACE_INCLUDE_FILE ocfs2_trace
2768 #include <trace/define_trace.h>
2769