Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 #undef TRACE_SYSTEM
0003 #define TRACE_SYSTEM ocfs2
0004 
0005 #if !defined(_TRACE_OCFS2_H) || defined(TRACE_HEADER_MULTI_READ)
0006 #define _TRACE_OCFS2_H
0007 
0008 #include <linux/tracepoint.h>
0009 
0010 DECLARE_EVENT_CLASS(ocfs2__int,
0011     TP_PROTO(int num),
0012     TP_ARGS(num),
0013     TP_STRUCT__entry(
0014         __field(int, num)
0015     ),
0016     TP_fast_assign(
0017         __entry->num = num;
0018     ),
0019     TP_printk("%d", __entry->num)
0020 );
0021 
0022 #define DEFINE_OCFS2_INT_EVENT(name)    \
0023 DEFINE_EVENT(ocfs2__int, name,  \
0024     TP_PROTO(int num),  \
0025     TP_ARGS(num))
0026 
0027 DECLARE_EVENT_CLASS(ocfs2__uint,
0028     TP_PROTO(unsigned int num),
0029     TP_ARGS(num),
0030     TP_STRUCT__entry(
0031         __field(    unsigned int,   num     )
0032     ),
0033     TP_fast_assign(
0034         __entry->num    =   num;
0035     ),
0036     TP_printk("%u", __entry->num)
0037 );
0038 
0039 #define DEFINE_OCFS2_UINT_EVENT(name)   \
0040 DEFINE_EVENT(ocfs2__uint, name, \
0041     TP_PROTO(unsigned int num), \
0042     TP_ARGS(num))
0043 
0044 DECLARE_EVENT_CLASS(ocfs2__ull,
0045     TP_PROTO(unsigned long long blkno),
0046     TP_ARGS(blkno),
0047     TP_STRUCT__entry(
0048         __field(unsigned long long, blkno)
0049     ),
0050     TP_fast_assign(
0051         __entry->blkno = blkno;
0052     ),
0053     TP_printk("%llu", __entry->blkno)
0054 );
0055 
0056 #define DEFINE_OCFS2_ULL_EVENT(name)    \
0057 DEFINE_EVENT(ocfs2__ull, name,  \
0058     TP_PROTO(unsigned long long num),   \
0059     TP_ARGS(num))
0060 
0061 DECLARE_EVENT_CLASS(ocfs2__pointer,
0062     TP_PROTO(void *pointer),
0063     TP_ARGS(pointer),
0064     TP_STRUCT__entry(
0065         __field(void *, pointer)
0066     ),
0067     TP_fast_assign(
0068         __entry->pointer = pointer;
0069     ),
0070     TP_printk("%p", __entry->pointer)
0071 );
0072 
0073 #define DEFINE_OCFS2_POINTER_EVENT(name)    \
0074 DEFINE_EVENT(ocfs2__pointer, name,  \
0075     TP_PROTO(void *pointer),    \
0076     TP_ARGS(pointer))
0077 
0078 DECLARE_EVENT_CLASS(ocfs2__string,
0079     TP_PROTO(const char *name),
0080     TP_ARGS(name),
0081     TP_STRUCT__entry(
0082         __string(name,name)
0083     ),
0084     TP_fast_assign(
0085         __assign_str(name, name);
0086     ),
0087     TP_printk("%s", __get_str(name))
0088 );
0089 
0090 #define DEFINE_OCFS2_STRING_EVENT(name) \
0091 DEFINE_EVENT(ocfs2__string, name,   \
0092     TP_PROTO(const char *name), \
0093     TP_ARGS(name))
0094 
0095 DECLARE_EVENT_CLASS(ocfs2__int_int,
0096     TP_PROTO(int value1, int value2),
0097     TP_ARGS(value1, value2),
0098     TP_STRUCT__entry(
0099         __field(int, value1)
0100         __field(int, value2)
0101     ),
0102     TP_fast_assign(
0103         __entry->value1 = value1;
0104         __entry->value2 = value2;
0105     ),
0106     TP_printk("%d %d", __entry->value1, __entry->value2)
0107 );
0108 
0109 #define DEFINE_OCFS2_INT_INT_EVENT(name)    \
0110 DEFINE_EVENT(ocfs2__int_int, name,  \
0111     TP_PROTO(int val1, int val2),   \
0112     TP_ARGS(val1, val2))
0113 
0114 DECLARE_EVENT_CLASS(ocfs2__uint_int,
0115     TP_PROTO(unsigned int value1, int value2),
0116     TP_ARGS(value1, value2),
0117     TP_STRUCT__entry(
0118         __field(unsigned int, value1)
0119         __field(int, value2)
0120     ),
0121     TP_fast_assign(
0122         __entry->value1 = value1;
0123         __entry->value2 = value2;
0124     ),
0125     TP_printk("%u %d", __entry->value1, __entry->value2)
0126 );
0127 
0128 #define DEFINE_OCFS2_UINT_INT_EVENT(name)   \
0129 DEFINE_EVENT(ocfs2__uint_int, name, \
0130     TP_PROTO(unsigned int val1, int val2),  \
0131     TP_ARGS(val1, val2))
0132 
0133 DECLARE_EVENT_CLASS(ocfs2__uint_uint,
0134     TP_PROTO(unsigned int value1, unsigned int value2),
0135     TP_ARGS(value1, value2),
0136     TP_STRUCT__entry(
0137         __field(unsigned int, value1)
0138         __field(unsigned int, value2)
0139     ),
0140     TP_fast_assign(
0141         __entry->value1 = value1;
0142         __entry->value2 = value2;
0143     ),
0144     TP_printk("%u %u", __entry->value1, __entry->value2)
0145 );
0146 
0147 #define DEFINE_OCFS2_UINT_UINT_EVENT(name)  \
0148 DEFINE_EVENT(ocfs2__uint_uint, name,    \
0149     TP_PROTO(unsigned int val1, unsigned int val2), \
0150     TP_ARGS(val1, val2))
0151 
0152 DECLARE_EVENT_CLASS(ocfs2__ull_uint,
0153     TP_PROTO(unsigned long long value1, unsigned int value2),
0154     TP_ARGS(value1, value2),
0155     TP_STRUCT__entry(
0156         __field(unsigned long long, value1)
0157         __field(unsigned int, value2)
0158     ),
0159     TP_fast_assign(
0160         __entry->value1 = value1;
0161         __entry->value2 = value2;
0162     ),
0163     TP_printk("%llu %u", __entry->value1, __entry->value2)
0164 );
0165 
0166 #define DEFINE_OCFS2_ULL_UINT_EVENT(name)   \
0167 DEFINE_EVENT(ocfs2__ull_uint, name, \
0168     TP_PROTO(unsigned long long val1, unsigned int val2),   \
0169     TP_ARGS(val1, val2))
0170 
0171 DECLARE_EVENT_CLASS(ocfs2__ull_int,
0172     TP_PROTO(unsigned long long value1, int value2),
0173     TP_ARGS(value1, value2),
0174     TP_STRUCT__entry(
0175         __field(unsigned long long, value1)
0176         __field(int, value2)
0177     ),
0178     TP_fast_assign(
0179         __entry->value1 = value1;
0180         __entry->value2 = value2;
0181     ),
0182     TP_printk("%llu %d", __entry->value1, __entry->value2)
0183 );
0184 
0185 #define DEFINE_OCFS2_ULL_INT_EVENT(name)    \
0186 DEFINE_EVENT(ocfs2__ull_int, name,  \
0187     TP_PROTO(unsigned long long val1, int val2),    \
0188     TP_ARGS(val1, val2))
0189 
0190 DECLARE_EVENT_CLASS(ocfs2__ull_ull,
0191     TP_PROTO(unsigned long long value1, unsigned long long value2),
0192     TP_ARGS(value1, value2),
0193     TP_STRUCT__entry(
0194         __field(unsigned long long, value1)
0195         __field(unsigned long long, value2)
0196     ),
0197     TP_fast_assign(
0198         __entry->value1 = value1;
0199         __entry->value2 = value2;
0200     ),
0201     TP_printk("%llu %llu", __entry->value1, __entry->value2)
0202 );
0203 
0204 #define DEFINE_OCFS2_ULL_ULL_EVENT(name)    \
0205 DEFINE_EVENT(ocfs2__ull_ull, name,  \
0206     TP_PROTO(unsigned long long val1, unsigned long long val2), \
0207     TP_ARGS(val1, val2))
0208 
0209 DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint,
0210     TP_PROTO(unsigned long long value1,
0211          unsigned long long value2, unsigned int value3),
0212     TP_ARGS(value1, value2, value3),
0213     TP_STRUCT__entry(
0214         __field(unsigned long long, value1)
0215         __field(unsigned long long, value2)
0216         __field(unsigned int, value3)
0217     ),
0218     TP_fast_assign(
0219         __entry->value1 = value1;
0220         __entry->value2 = value2;
0221         __entry->value3 = value3;
0222     ),
0223     TP_printk("%llu %llu %u",
0224           __entry->value1, __entry->value2, __entry->value3)
0225 );
0226 
0227 #define DEFINE_OCFS2_ULL_ULL_UINT_EVENT(name)   \
0228 DEFINE_EVENT(ocfs2__ull_ull_uint, name, \
0229     TP_PROTO(unsigned long long val1,   \
0230          unsigned long long val2, unsigned int val3),   \
0231     TP_ARGS(val1, val2, val3))
0232 
0233 DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint,
0234     TP_PROTO(unsigned long long value1,
0235          unsigned int value2, unsigned int value3),
0236     TP_ARGS(value1, value2, value3),
0237     TP_STRUCT__entry(
0238         __field(unsigned long long, value1)
0239         __field(unsigned int, value2)
0240         __field(unsigned int, value3)
0241     ),
0242     TP_fast_assign(
0243         __entry->value1 = value1;
0244         __entry->value2 = value2;
0245         __entry->value3 = value3;
0246     ),
0247     TP_printk("%llu %u %u", __entry->value1,
0248           __entry->value2, __entry->value3)
0249 );
0250 
0251 #define DEFINE_OCFS2_ULL_UINT_UINT_EVENT(name)  \
0252 DEFINE_EVENT(ocfs2__ull_uint_uint, name,    \
0253     TP_PROTO(unsigned long long val1,   \
0254          unsigned int val2, unsigned int val3), \
0255     TP_ARGS(val1, val2, val3))
0256 
0257 DECLARE_EVENT_CLASS(ocfs2__uint_uint_uint,
0258     TP_PROTO(unsigned int value1, unsigned int value2,
0259          unsigned int value3),
0260     TP_ARGS(value1, value2, value3),
0261     TP_STRUCT__entry(
0262         __field(    unsigned int,   value1      )
0263         __field(    unsigned int,   value2      )
0264         __field(    unsigned int,   value3      )
0265     ),
0266     TP_fast_assign(
0267         __entry->value1 =   value1;
0268         __entry->value2 =   value2;
0269         __entry->value3 =   value3;
0270     ),
0271     TP_printk("%u %u %u", __entry->value1, __entry->value2, __entry->value3)
0272 );
0273 
0274 #define DEFINE_OCFS2_UINT_UINT_UINT_EVENT(name) \
0275 DEFINE_EVENT(ocfs2__uint_uint_uint, name,   \
0276     TP_PROTO(unsigned int value1, unsigned int value2,  \
0277          unsigned int value3),  \
0278     TP_ARGS(value1, value2, value3))
0279 
0280 DECLARE_EVENT_CLASS(ocfs2__ull_ull_ull,
0281     TP_PROTO(unsigned long long value1,
0282          unsigned long long value2, unsigned long long value3),
0283     TP_ARGS(value1, value2, value3),
0284     TP_STRUCT__entry(
0285         __field(unsigned long long, value1)
0286         __field(unsigned long long, value2)
0287         __field(unsigned long long, value3)
0288     ),
0289     TP_fast_assign(
0290         __entry->value1 = value1;
0291         __entry->value2 = value2;
0292         __entry->value3 = value3;
0293     ),
0294     TP_printk("%llu %llu %llu",
0295           __entry->value1, __entry->value2, __entry->value3)
0296 );
0297 
0298 #define DEFINE_OCFS2_ULL_ULL_ULL_EVENT(name)    \
0299 DEFINE_EVENT(ocfs2__ull_ull_ull, name,  \
0300     TP_PROTO(unsigned long long value1, unsigned long long value2,  \
0301          unsigned long long value3),    \
0302     TP_ARGS(value1, value2, value3))
0303 
0304 DECLARE_EVENT_CLASS(ocfs2__ull_int_int_int,
0305     TP_PROTO(unsigned long long ull, int value1, int value2, int value3),
0306     TP_ARGS(ull, value1, value2, value3),
0307     TP_STRUCT__entry(
0308         __field(    unsigned long long, ull )
0309         __field(    int,    value1          )
0310         __field(    int,    value2          )
0311         __field(    int,    value3          )
0312     ),
0313     TP_fast_assign(
0314         __entry->ull        = ull;
0315         __entry->value1     = value1;
0316         __entry->value2     = value2;
0317         __entry->value3     = value3;
0318     ),
0319     TP_printk("%llu %d %d %d",
0320           __entry->ull, __entry->value1,
0321           __entry->value2, __entry->value3)
0322 );
0323 
0324 #define DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(name)    \
0325 DEFINE_EVENT(ocfs2__ull_int_int_int, name,  \
0326     TP_PROTO(unsigned long long ull, int value1,    \
0327          int value2, int value3),   \
0328     TP_ARGS(ull, value1, value2, value3))
0329 
0330 DECLARE_EVENT_CLASS(ocfs2__ull_uint_uint_uint,
0331     TP_PROTO(unsigned long long ull, unsigned int value1,
0332          unsigned int value2, unsigned int value3),
0333     TP_ARGS(ull, value1, value2, value3),
0334     TP_STRUCT__entry(
0335         __field(unsigned long long, ull)
0336         __field(unsigned int, value1)
0337         __field(unsigned int, value2)
0338         __field(unsigned int, value3)
0339     ),
0340     TP_fast_assign(
0341         __entry->ull = ull;
0342         __entry->value1 = value1;
0343         __entry->value2 = value2;
0344         __entry->value3 = value3;
0345     ),
0346     TP_printk("%llu %u %u %u",
0347           __entry->ull, __entry->value1,
0348           __entry->value2, __entry->value3)
0349 );
0350 
0351 #define DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(name) \
0352 DEFINE_EVENT(ocfs2__ull_uint_uint_uint, name,   \
0353     TP_PROTO(unsigned long long ull, unsigned int value1,   \
0354          unsigned int value2, unsigned int value3), \
0355     TP_ARGS(ull, value1, value2, value3))
0356 
0357 DECLARE_EVENT_CLASS(ocfs2__ull_ull_uint_uint,
0358     TP_PROTO(unsigned long long value1, unsigned long long value2,
0359          unsigned int value3, unsigned int value4),
0360     TP_ARGS(value1, value2, value3, value4),
0361     TP_STRUCT__entry(
0362         __field(unsigned long long, value1)
0363         __field(unsigned long long, value2)
0364         __field(unsigned int, value3)
0365         __field(unsigned int, value4)
0366     ),
0367     TP_fast_assign(
0368         __entry->value1 = value1;
0369         __entry->value2 = value2;
0370         __entry->value3 = value3;
0371         __entry->value4 = value4;
0372     ),
0373     TP_printk("%llu %llu %u %u",
0374           __entry->value1, __entry->value2,
0375           __entry->value3, __entry->value4)
0376 );
0377 
0378 #define DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(name)  \
0379 DEFINE_EVENT(ocfs2__ull_ull_uint_uint, name,    \
0380     TP_PROTO(unsigned long long ull, unsigned long long ull1,   \
0381          unsigned int value2, unsigned int value3), \
0382     TP_ARGS(ull, ull1, value2, value3))
0383 
0384 /* Trace events for fs/ocfs2/alloc.c. */
0385 DECLARE_EVENT_CLASS(ocfs2__btree_ops,
0386     TP_PROTO(unsigned long long owner,\
0387          unsigned int value1, unsigned int value2),
0388     TP_ARGS(owner, value1, value2),
0389     TP_STRUCT__entry(
0390         __field(unsigned long long, owner)
0391         __field(unsigned int, value1)
0392         __field(unsigned int, value2)
0393     ),
0394     TP_fast_assign(
0395         __entry->owner = owner;
0396         __entry->value1 = value1;
0397         __entry->value2 = value2;
0398     ),
0399     TP_printk("%llu %u %u",
0400           __entry->owner, __entry->value1, __entry->value2)
0401 );
0402 
0403 #define DEFINE_OCFS2_BTREE_EVENT(name)  \
0404 DEFINE_EVENT(ocfs2__btree_ops, name,    \
0405     TP_PROTO(unsigned long long owner,  \
0406          unsigned int value1, unsigned int value2), \
0407     TP_ARGS(owner, value1, value2))
0408 
0409 DEFINE_OCFS2_BTREE_EVENT(ocfs2_adjust_rightmost_branch);
0410 
0411 DEFINE_OCFS2_BTREE_EVENT(ocfs2_rotate_tree_right);
0412 
0413 DEFINE_OCFS2_BTREE_EVENT(ocfs2_append_rec_to_path);
0414 
0415 DEFINE_OCFS2_BTREE_EVENT(ocfs2_insert_extent_start);
0416 
0417 DEFINE_OCFS2_BTREE_EVENT(ocfs2_add_clusters_in_btree);
0418 
0419 DEFINE_OCFS2_INT_EVENT(ocfs2_num_free_extents);
0420 
0421 DEFINE_OCFS2_INT_EVENT(ocfs2_complete_edge_insert);
0422 
0423 TRACE_EVENT(ocfs2_grow_tree,
0424     TP_PROTO(unsigned long long owner, int depth),
0425     TP_ARGS(owner, depth),
0426     TP_STRUCT__entry(
0427         __field(unsigned long long, owner)
0428         __field(int, depth)
0429     ),
0430     TP_fast_assign(
0431         __entry->owner = owner;
0432         __entry->depth = depth;
0433     ),
0434     TP_printk("%llu %d", __entry->owner, __entry->depth)
0435 );
0436 
0437 TRACE_EVENT(ocfs2_rotate_subtree,
0438     TP_PROTO(int subtree_root, unsigned long long blkno,
0439          int depth),
0440     TP_ARGS(subtree_root, blkno, depth),
0441     TP_STRUCT__entry(
0442         __field(int, subtree_root)
0443         __field(unsigned long long, blkno)
0444         __field(int, depth)
0445     ),
0446     TP_fast_assign(
0447         __entry->subtree_root = subtree_root;
0448         __entry->blkno = blkno;
0449         __entry->depth = depth;
0450     ),
0451     TP_printk("%d %llu %d", __entry->subtree_root,
0452           __entry->blkno, __entry->depth)
0453 );
0454 
0455 TRACE_EVENT(ocfs2_insert_extent,
0456     TP_PROTO(unsigned int ins_appending, unsigned int ins_contig,
0457          int ins_contig_index, int free_records, int ins_tree_depth),
0458     TP_ARGS(ins_appending, ins_contig, ins_contig_index, free_records,
0459         ins_tree_depth),
0460     TP_STRUCT__entry(
0461         __field(unsigned int, ins_appending)
0462         __field(unsigned int, ins_contig)
0463         __field(int, ins_contig_index)
0464         __field(int, free_records)
0465         __field(int, ins_tree_depth)
0466     ),
0467     TP_fast_assign(
0468         __entry->ins_appending = ins_appending;
0469         __entry->ins_contig = ins_contig;
0470         __entry->ins_contig_index = ins_contig_index;
0471         __entry->free_records = free_records;
0472         __entry->ins_tree_depth = ins_tree_depth;
0473     ),
0474     TP_printk("%u %u %d %d %d",
0475           __entry->ins_appending, __entry->ins_contig,
0476           __entry->ins_contig_index, __entry->free_records,
0477           __entry->ins_tree_depth)
0478 );
0479 
0480 TRACE_EVENT(ocfs2_split_extent,
0481     TP_PROTO(int split_index, unsigned int c_contig_type,
0482          unsigned int c_has_empty_extent,
0483          unsigned int c_split_covers_rec),
0484     TP_ARGS(split_index, c_contig_type,
0485         c_has_empty_extent, c_split_covers_rec),
0486     TP_STRUCT__entry(
0487         __field(int, split_index)
0488         __field(unsigned int, c_contig_type)
0489         __field(unsigned int, c_has_empty_extent)
0490         __field(unsigned int, c_split_covers_rec)
0491     ),
0492     TP_fast_assign(
0493         __entry->split_index = split_index;
0494         __entry->c_contig_type = c_contig_type;
0495         __entry->c_has_empty_extent = c_has_empty_extent;
0496         __entry->c_split_covers_rec = c_split_covers_rec;
0497     ),
0498     TP_printk("%d %u %u %u", __entry->split_index, __entry->c_contig_type,
0499           __entry->c_has_empty_extent, __entry->c_split_covers_rec)
0500 );
0501 
0502 TRACE_EVENT(ocfs2_remove_extent,
0503     TP_PROTO(unsigned long long owner, unsigned int cpos,
0504          unsigned int len, int index,
0505          unsigned int e_cpos, unsigned int clusters),
0506     TP_ARGS(owner, cpos, len, index, e_cpos, clusters),
0507     TP_STRUCT__entry(
0508         __field(unsigned long long, owner)
0509         __field(unsigned int, cpos)
0510         __field(unsigned int, len)
0511         __field(int, index)
0512         __field(unsigned int, e_cpos)
0513         __field(unsigned int, clusters)
0514     ),
0515     TP_fast_assign(
0516         __entry->owner = owner;
0517         __entry->cpos = cpos;
0518         __entry->len = len;
0519         __entry->index = index;
0520         __entry->e_cpos = e_cpos;
0521         __entry->clusters = clusters;
0522     ),
0523     TP_printk("%llu %u %u %d %u %u",
0524           __entry->owner, __entry->cpos, __entry->len, __entry->index,
0525           __entry->e_cpos, __entry->clusters)
0526 );
0527 
0528 TRACE_EVENT(ocfs2_commit_truncate,
0529     TP_PROTO(unsigned long long ino, unsigned int new_cpos,
0530          unsigned int clusters, unsigned int depth),
0531     TP_ARGS(ino, new_cpos, clusters, depth),
0532     TP_STRUCT__entry(
0533         __field(unsigned long long, ino)
0534         __field(unsigned int, new_cpos)
0535         __field(unsigned int, clusters)
0536         __field(unsigned int, depth)
0537     ),
0538     TP_fast_assign(
0539         __entry->ino = ino;
0540         __entry->new_cpos = new_cpos;
0541         __entry->clusters = clusters;
0542         __entry->depth = depth;
0543     ),
0544     TP_printk("%llu %u %u %u",
0545           __entry->ino, __entry->new_cpos,
0546           __entry->clusters, __entry->depth)
0547 );
0548 
0549 TRACE_EVENT(ocfs2_validate_extent_block,
0550     TP_PROTO(unsigned long long blkno),
0551     TP_ARGS(blkno),
0552     TP_STRUCT__entry(
0553         __field(unsigned long long, blkno)
0554     ),
0555     TP_fast_assign(
0556         __entry->blkno = blkno;
0557     ),
0558     TP_printk("%llu ", __entry->blkno)
0559 );
0560 
0561 TRACE_EVENT(ocfs2_rotate_leaf,
0562     TP_PROTO(unsigned int insert_cpos, int insert_index,
0563          int has_empty, int next_free,
0564          unsigned int l_count),
0565     TP_ARGS(insert_cpos, insert_index, has_empty,
0566         next_free, l_count),
0567     TP_STRUCT__entry(
0568         __field(unsigned int, insert_cpos)
0569         __field(int, insert_index)
0570         __field(int, has_empty)
0571         __field(int, next_free)
0572         __field(unsigned int, l_count)
0573     ),
0574     TP_fast_assign(
0575         __entry->insert_cpos = insert_cpos;
0576         __entry->insert_index = insert_index;
0577         __entry->has_empty = has_empty;
0578         __entry->next_free = next_free;
0579         __entry->l_count = l_count;
0580     ),
0581     TP_printk("%u %d %d %d %u", __entry->insert_cpos,
0582           __entry->insert_index, __entry->has_empty,
0583           __entry->next_free, __entry->l_count)
0584 );
0585 
0586 TRACE_EVENT(ocfs2_add_clusters_in_btree_ret,
0587     TP_PROTO(int status, int reason, int err),
0588     TP_ARGS(status, reason, err),
0589     TP_STRUCT__entry(
0590         __field(int, status)
0591         __field(int, reason)
0592         __field(int, err)
0593     ),
0594     TP_fast_assign(
0595         __entry->status = status;
0596         __entry->reason = reason;
0597         __entry->err = err;
0598     ),
0599     TP_printk("%d %d %d", __entry->status,
0600           __entry->reason, __entry->err)
0601 );
0602 
0603 TRACE_EVENT(ocfs2_mark_extent_written,
0604     TP_PROTO(unsigned long long owner, unsigned int cpos,
0605          unsigned int len, unsigned int phys),
0606     TP_ARGS(owner, cpos, len, phys),
0607     TP_STRUCT__entry(
0608         __field(unsigned long long, owner)
0609         __field(unsigned int, cpos)
0610         __field(unsigned int, len)
0611         __field(unsigned int, phys)
0612     ),
0613     TP_fast_assign(
0614         __entry->owner = owner;
0615         __entry->cpos = cpos;
0616         __entry->len = len;
0617         __entry->phys = phys;
0618     ),
0619     TP_printk("%llu %u %u %u",
0620           __entry->owner, __entry->cpos,
0621           __entry->len, __entry->phys)
0622 );
0623 
0624 DECLARE_EVENT_CLASS(ocfs2__truncate_log_ops,
0625     TP_PROTO(unsigned long long blkno, int index,
0626          unsigned int start, unsigned int num),
0627     TP_ARGS(blkno, index, start, num),
0628     TP_STRUCT__entry(
0629         __field(unsigned long long, blkno)
0630         __field(int, index)
0631         __field(unsigned int, start)
0632         __field(unsigned int, num)
0633     ),
0634     TP_fast_assign(
0635         __entry->blkno = blkno;
0636         __entry->index = index;
0637         __entry->start = start;
0638         __entry->num = num;
0639     ),
0640     TP_printk("%llu %d %u %u",
0641           __entry->blkno, __entry->index,
0642           __entry->start, __entry->num)
0643 );
0644 
0645 #define DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(name)   \
0646 DEFINE_EVENT(ocfs2__truncate_log_ops, name, \
0647     TP_PROTO(unsigned long long blkno, int index,   \
0648          unsigned int start, unsigned int num), \
0649     TP_ARGS(blkno, index, start, num))
0650 
0651 DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_truncate_log_append);
0652 
0653 DEFINE_OCFS2_TRUNCATE_LOG_OPS_EVENT(ocfs2_replay_truncate_records);
0654 
0655 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_flush_truncate_log);
0656 
0657 DEFINE_OCFS2_INT_EVENT(ocfs2_begin_truncate_log_recovery);
0658 
0659 DEFINE_OCFS2_INT_EVENT(ocfs2_truncate_log_recovery_num);
0660 
0661 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_complete_truncate_log_recovery);
0662 
0663 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_free_cached_blocks);
0664 
0665 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_cache_cluster_dealloc);
0666 
0667 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_run_deallocs);
0668 
0669 TRACE_EVENT(ocfs2_cache_block_dealloc,
0670     TP_PROTO(int type, int slot, unsigned long long suballoc,
0671          unsigned long long blkno, unsigned int bit),
0672     TP_ARGS(type, slot, suballoc, blkno, bit),
0673     TP_STRUCT__entry(
0674         __field(int, type)
0675         __field(int, slot)
0676         __field(unsigned long long, suballoc)
0677         __field(unsigned long long, blkno)
0678         __field(unsigned int, bit)
0679     ),
0680     TP_fast_assign(
0681         __entry->type = type;
0682         __entry->slot = slot;
0683         __entry->suballoc = suballoc;
0684         __entry->blkno = blkno;
0685         __entry->bit = bit;
0686     ),
0687     TP_printk("%d %d %llu %llu %u",
0688           __entry->type, __entry->slot, __entry->suballoc,
0689           __entry->blkno, __entry->bit)
0690 );
0691 
0692 TRACE_EVENT(ocfs2_trim_extent,
0693     TP_PROTO(struct super_block *sb, unsigned long long blk,
0694          unsigned long long count),
0695     TP_ARGS(sb, blk, count),
0696     TP_STRUCT__entry(
0697         __field(int, dev_major)
0698         __field(int, dev_minor)
0699         __field(unsigned long long, blk)
0700         __field(__u64,  count)
0701     ),
0702     TP_fast_assign(
0703         __entry->dev_major = MAJOR(sb->s_dev);
0704         __entry->dev_minor = MINOR(sb->s_dev);
0705         __entry->blk = blk;
0706         __entry->count = count;
0707     ),
0708     TP_printk("%d %d %llu %llu",
0709           __entry->dev_major, __entry->dev_minor,
0710           __entry->blk, __entry->count)
0711 );
0712 
0713 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_trim_group);
0714 
0715 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_trim_mainbm);
0716 
0717 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_trim_fs);
0718 
0719 /* End of trace events for fs/ocfs2/alloc.c. */
0720 
0721 /* Trace events for fs/ocfs2/localalloc.c. */
0722 
0723 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_la_set_sizes);
0724 
0725 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_alloc_should_use_local);
0726 
0727 DEFINE_OCFS2_INT_EVENT(ocfs2_load_local_alloc);
0728 
0729 DEFINE_OCFS2_INT_EVENT(ocfs2_begin_local_alloc_recovery);
0730 
0731 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_reserve_local_alloc_bits);
0732 
0733 DEFINE_OCFS2_UINT_EVENT(ocfs2_local_alloc_count_bits);
0734 
0735 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits_search_bitmap);
0736 
0737 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_local_alloc_find_clear_bits);
0738 
0739 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_sync_local_to_main);
0740 
0741 TRACE_EVENT(ocfs2_sync_local_to_main_free,
0742     TP_PROTO(int count, int bit, unsigned long long start_blk,
0743          unsigned long long blkno),
0744     TP_ARGS(count, bit, start_blk, blkno),
0745     TP_STRUCT__entry(
0746         __field(int, count)
0747         __field(int, bit)
0748         __field(unsigned long long, start_blk)
0749         __field(unsigned long long, blkno)
0750     ),
0751     TP_fast_assign(
0752         __entry->count = count;
0753         __entry->bit = bit;
0754         __entry->start_blk = start_blk;
0755         __entry->blkno = blkno;
0756     ),
0757     TP_printk("%d %d %llu %llu",
0758           __entry->count, __entry->bit, __entry->start_blk,
0759           __entry->blkno)
0760 );
0761 
0762 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_local_alloc_new_window);
0763 
0764 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_local_alloc_new_window_result);
0765 
0766 /* End of trace events for fs/ocfs2/localalloc.c. */
0767 
0768 /* Trace events for fs/ocfs2/resize.c. */
0769 
0770 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_update_last_group_and_inode);
0771 
0772 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_group_extend);
0773 
0774 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_group_add);
0775 
0776 /* End of trace events for fs/ocfs2/resize.c. */
0777 
0778 /* Trace events for fs/ocfs2/suballoc.c. */
0779 
0780 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_group_descriptor);
0781 
0782 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_contig);
0783 
0784 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_block_group_alloc_discontig);
0785 
0786 DEFINE_OCFS2_ULL_EVENT(ocfs2_block_group_alloc);
0787 
0788 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_nospc);
0789 
0790 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_reserve_suballoc_bits_no_new_group);
0791 
0792 DEFINE_OCFS2_ULL_EVENT(ocfs2_reserve_new_inode_new_group);
0793 
0794 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_set_bits);
0795 
0796 TRACE_EVENT(ocfs2_relink_block_group,
0797     TP_PROTO(unsigned long long i_blkno, unsigned int chain,
0798          unsigned long long bg_blkno,
0799          unsigned long long prev_blkno),
0800     TP_ARGS(i_blkno, chain, bg_blkno, prev_blkno),
0801     TP_STRUCT__entry(
0802         __field(unsigned long long, i_blkno)
0803         __field(unsigned int, chain)
0804         __field(unsigned long long, bg_blkno)
0805         __field(unsigned long long, prev_blkno)
0806     ),
0807     TP_fast_assign(
0808         __entry->i_blkno = i_blkno;
0809         __entry->chain = chain;
0810         __entry->bg_blkno = bg_blkno;
0811         __entry->prev_blkno = prev_blkno;
0812     ),
0813     TP_printk("%llu %u %llu %llu",
0814           __entry->i_blkno, __entry->chain, __entry->bg_blkno,
0815           __entry->prev_blkno)
0816 );
0817 
0818 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_cluster_group_search_wrong_max_bits);
0819 
0820 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cluster_group_search_max_block);
0821 
0822 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_block_group_search_max_block);
0823 
0824 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_search_chain_begin);
0825 
0826 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_succ);
0827 
0828 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_search_chain_end);
0829 
0830 DEFINE_OCFS2_UINT_EVENT(ocfs2_claim_suballoc_bits);
0831 
0832 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_claim_new_inode_at_loc);
0833 
0834 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_block_group_clear_bits);
0835 
0836 TRACE_EVENT(ocfs2_free_suballoc_bits,
0837     TP_PROTO(unsigned long long inode, unsigned long long group,
0838          unsigned int start_bit, unsigned int count),
0839     TP_ARGS(inode, group, start_bit, count),
0840     TP_STRUCT__entry(
0841         __field(unsigned long long, inode)
0842         __field(unsigned long long, group)
0843         __field(unsigned int, start_bit)
0844         __field(unsigned int, count)
0845     ),
0846     TP_fast_assign(
0847         __entry->inode = inode;
0848         __entry->group = group;
0849         __entry->start_bit = start_bit;
0850         __entry->count = count;
0851     ),
0852     TP_printk("%llu %llu %u %u", __entry->inode, __entry->group,
0853           __entry->start_bit, __entry->count)
0854 );
0855 
0856 TRACE_EVENT(ocfs2_free_clusters,
0857     TP_PROTO(unsigned long long bg_blkno, unsigned long long start_blk,
0858          unsigned int start_bit, unsigned int count),
0859     TP_ARGS(bg_blkno, start_blk, start_bit, count),
0860     TP_STRUCT__entry(
0861         __field(unsigned long long, bg_blkno)
0862         __field(unsigned long long, start_blk)
0863         __field(unsigned int, start_bit)
0864         __field(unsigned int, count)
0865     ),
0866     TP_fast_assign(
0867         __entry->bg_blkno = bg_blkno;
0868         __entry->start_blk = start_blk;
0869         __entry->start_bit = start_bit;
0870         __entry->count = count;
0871     ),
0872     TP_printk("%llu %llu %u %u", __entry->bg_blkno, __entry->start_blk,
0873           __entry->start_bit, __entry->count)
0874 );
0875 
0876 DEFINE_OCFS2_ULL_EVENT(ocfs2_get_suballoc_slot_bit);
0877 
0878 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_test_suballoc_bit);
0879 
0880 DEFINE_OCFS2_ULL_EVENT(ocfs2_test_inode_bit);
0881 
0882 /* End of trace events for fs/ocfs2/suballoc.c. */
0883 
0884 /* Trace events for fs/ocfs2/refcounttree.c. */
0885 
0886 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_refcount_block);
0887 
0888 DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_refcount_trees);
0889 
0890 DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree);
0891 
0892 DEFINE_OCFS2_ULL_EVENT(ocfs2_create_refcount_tree_blkno);
0893 
0894 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_change_refcount_rec);
0895 
0896 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_expand_inline_ref_root);
0897 
0898 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_divide_leaf_refcount_block);
0899 
0900 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_new_leaf_refcount_block);
0901 
0902 DECLARE_EVENT_CLASS(ocfs2__refcount_tree_ops,
0903     TP_PROTO(unsigned long long blkno, int index,
0904          unsigned long long cpos,
0905          unsigned int clusters, unsigned int refcount),
0906     TP_ARGS(blkno, index, cpos, clusters, refcount),
0907     TP_STRUCT__entry(
0908         __field(unsigned long long, blkno)
0909         __field(int, index)
0910         __field(unsigned long long, cpos)
0911         __field(unsigned int, clusters)
0912         __field(unsigned int, refcount)
0913     ),
0914     TP_fast_assign(
0915         __entry->blkno = blkno;
0916         __entry->index = index;
0917         __entry->cpos = cpos;
0918         __entry->clusters = clusters;
0919         __entry->refcount = refcount;
0920     ),
0921     TP_printk("%llu %d %llu %u %u", __entry->blkno, __entry->index,
0922           __entry->cpos, __entry->clusters, __entry->refcount)
0923 );
0924 
0925 #define DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(name)  \
0926 DEFINE_EVENT(ocfs2__refcount_tree_ops, name,        \
0927     TP_PROTO(unsigned long long blkno, int index,   \
0928          unsigned long long cpos,       \
0929          unsigned int count, unsigned int refcount),    \
0930     TP_ARGS(blkno, index, cpos, count, refcount))
0931 
0932 DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_insert_refcount_rec);
0933 
0934 TRACE_EVENT(ocfs2_split_refcount_rec,
0935     TP_PROTO(unsigned long long cpos,
0936          unsigned int clusters, unsigned int refcount,
0937          unsigned long long split_cpos,
0938          unsigned int split_clusters, unsigned int split_refcount),
0939     TP_ARGS(cpos, clusters, refcount,
0940         split_cpos, split_clusters, split_refcount),
0941     TP_STRUCT__entry(
0942         __field(unsigned long long, cpos)
0943         __field(unsigned int, clusters)
0944         __field(unsigned int, refcount)
0945         __field(unsigned long long, split_cpos)
0946         __field(unsigned int, split_clusters)
0947         __field(unsigned int, split_refcount)
0948     ),
0949     TP_fast_assign(
0950         __entry->cpos = cpos;
0951         __entry->clusters = clusters;
0952         __entry->refcount = refcount;
0953         __entry->split_cpos = split_cpos;
0954         __entry->split_clusters = split_clusters;
0955         __entry->split_refcount = split_refcount;
0956     ),
0957     TP_printk("%llu %u %u %llu %u %u",
0958           __entry->cpos, __entry->clusters, __entry->refcount,
0959           __entry->split_cpos, __entry->split_clusters,
0960           __entry->split_refcount)
0961 );
0962 
0963 DEFINE_OCFS2_REFCOUNT_TREE_OPS_EVENT(ocfs2_split_refcount_rec_insert);
0964 
0965 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_increase_refcount_begin);
0966 
0967 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_change);
0968 
0969 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_increase_refcount_insert);
0970 
0971 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_increase_refcount_split);
0972 
0973 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_remove_refcount_extent);
0974 
0975 DEFINE_OCFS2_ULL_EVENT(ocfs2_restore_refcount_block);
0976 
0977 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_decrease_refcount_rec);
0978 
0979 TRACE_EVENT(ocfs2_decrease_refcount,
0980     TP_PROTO(unsigned long long owner,
0981          unsigned long long cpos,
0982          unsigned int len, int delete),
0983     TP_ARGS(owner, cpos, len, delete),
0984     TP_STRUCT__entry(
0985         __field(unsigned long long, owner)
0986         __field(unsigned long long, cpos)
0987         __field(unsigned int, len)
0988         __field(int, delete)
0989     ),
0990     TP_fast_assign(
0991         __entry->owner = owner;
0992         __entry->cpos = cpos;
0993         __entry->len = len;
0994         __entry->delete = delete;
0995     ),
0996     TP_printk("%llu %llu %u %d",
0997           __entry->owner, __entry->cpos, __entry->len, __entry->delete)
0998 );
0999 
1000 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_mark_extent_refcounted);
1001 
1002 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_calc_refcount_meta_credits);
1003 
1004 TRACE_EVENT(ocfs2_calc_refcount_meta_credits_iterate,
1005     TP_PROTO(int recs_add, unsigned long long cpos,
1006          unsigned int clusters, unsigned long long r_cpos,
1007          unsigned int r_clusters, unsigned int refcount, int index),
1008     TP_ARGS(recs_add, cpos, clusters, r_cpos, r_clusters, refcount, index),
1009     TP_STRUCT__entry(
1010         __field(int, recs_add)
1011         __field(unsigned long long, cpos)
1012         __field(unsigned int, clusters)
1013         __field(unsigned long long, r_cpos)
1014         __field(unsigned int, r_clusters)
1015         __field(unsigned int, refcount)
1016         __field(int, index)
1017     ),
1018     TP_fast_assign(
1019         __entry->recs_add = recs_add;
1020         __entry->cpos = cpos;
1021         __entry->clusters = clusters;
1022         __entry->r_cpos = r_cpos;
1023         __entry->r_clusters = r_clusters;
1024         __entry->refcount = refcount;
1025         __entry->index = index;
1026     ),
1027     TP_printk("%d %llu %u %llu %u %u %d",
1028           __entry->recs_add, __entry->cpos, __entry->clusters,
1029           __entry->r_cpos, __entry->r_clusters,
1030           __entry->refcount, __entry->index)
1031 );
1032 
1033 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_add_refcount_flag);
1034 
1035 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_prepare_refcount_change_for_del);
1036 
1037 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_lock_refcount_allocators);
1038 
1039 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_page);
1040 
1041 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_duplicate_clusters_by_jbd);
1042 
1043 TRACE_EVENT(ocfs2_clear_ext_refcount,
1044     TP_PROTO(unsigned long long ino, unsigned int cpos,
1045          unsigned int len, unsigned int p_cluster,
1046          unsigned int ext_flags),
1047     TP_ARGS(ino, cpos, len, p_cluster, ext_flags),
1048     TP_STRUCT__entry(
1049         __field(unsigned long long, ino)
1050         __field(unsigned int, cpos)
1051         __field(unsigned int, len)
1052         __field(unsigned int, p_cluster)
1053         __field(unsigned int, ext_flags)
1054     ),
1055     TP_fast_assign(
1056         __entry->ino = ino;
1057         __entry->cpos = cpos;
1058         __entry->len = len;
1059         __entry->p_cluster = p_cluster;
1060         __entry->ext_flags = ext_flags;
1061     ),
1062     TP_printk("%llu %u %u %u %u",
1063           __entry->ino, __entry->cpos, __entry->len,
1064           __entry->p_cluster, __entry->ext_flags)
1065 );
1066 
1067 TRACE_EVENT(ocfs2_replace_clusters,
1068     TP_PROTO(unsigned long long ino, unsigned int cpos,
1069          unsigned int old, unsigned int new, unsigned int len,
1070          unsigned int ext_flags),
1071     TP_ARGS(ino, cpos, old, new, len, ext_flags),
1072     TP_STRUCT__entry(
1073         __field(unsigned long long, ino)
1074         __field(unsigned int, cpos)
1075         __field(unsigned int, old)
1076         __field(unsigned int, new)
1077         __field(unsigned int, len)
1078         __field(unsigned int, ext_flags)
1079     ),
1080     TP_fast_assign(
1081         __entry->ino = ino;
1082         __entry->cpos = cpos;
1083         __entry->old = old;
1084         __entry->new = new;
1085         __entry->len = len;
1086         __entry->ext_flags = ext_flags;
1087     ),
1088     TP_printk("%llu %u %u %u %u %u",
1089           __entry->ino, __entry->cpos, __entry->old, __entry->new,
1090           __entry->len, __entry->ext_flags)
1091 );
1092 
1093 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_make_clusters_writable);
1094 
1095 TRACE_EVENT(ocfs2_refcount_cow_hunk,
1096     TP_PROTO(unsigned long long ino, unsigned int cpos,
1097          unsigned int write_len, unsigned int max_cpos,
1098          unsigned int cow_start, unsigned int cow_len),
1099     TP_ARGS(ino, cpos, write_len, max_cpos, cow_start, cow_len),
1100     TP_STRUCT__entry(
1101         __field(unsigned long long, ino)
1102         __field(unsigned int, cpos)
1103         __field(unsigned int, write_len)
1104         __field(unsigned int, max_cpos)
1105         __field(unsigned int, cow_start)
1106         __field(unsigned int, cow_len)
1107     ),
1108     TP_fast_assign(
1109         __entry->ino = ino;
1110         __entry->cpos = cpos;
1111         __entry->write_len = write_len;
1112         __entry->max_cpos = max_cpos;
1113         __entry->cow_start = cow_start;
1114         __entry->cow_len = cow_len;
1115     ),
1116     TP_printk("%llu %u %u %u %u %u",
1117           __entry->ino, __entry->cpos, __entry->write_len,
1118           __entry->max_cpos, __entry->cow_start, __entry->cow_len)
1119 );
1120 
1121 /* End of trace events for fs/ocfs2/refcounttree.c. */
1122 
1123 /* Trace events for fs/ocfs2/aops.c. */
1124 
1125 DECLARE_EVENT_CLASS(ocfs2__get_block,
1126     TP_PROTO(unsigned long long ino, unsigned long long iblock,
1127          void *bh_result, int create),
1128     TP_ARGS(ino, iblock, bh_result, create),
1129     TP_STRUCT__entry(
1130         __field(unsigned long long, ino)
1131         __field(unsigned long long, iblock)
1132         __field(void *, bh_result)
1133         __field(int, create)
1134     ),
1135     TP_fast_assign(
1136         __entry->ino = ino;
1137         __entry->iblock = iblock;
1138         __entry->bh_result = bh_result;
1139         __entry->create = create;
1140     ),
1141     TP_printk("%llu %llu %p %d",
1142           __entry->ino, __entry->iblock,
1143           __entry->bh_result, __entry->create)
1144 );
1145 
1146 #define DEFINE_OCFS2_GET_BLOCK_EVENT(name)  \
1147 DEFINE_EVENT(ocfs2__get_block, name,    \
1148     TP_PROTO(unsigned long long ino, unsigned long long iblock, \
1149          void *bh_result, int create),  \
1150     TP_ARGS(ino, iblock, bh_result, create))
1151 
1152 DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_symlink_get_block);
1153 
1154 DEFINE_OCFS2_GET_BLOCK_EVENT(ocfs2_get_block);
1155 
1156 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_get_block_end);
1157 
1158 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_readpage);
1159 
1160 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_writepage);
1161 
1162 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_bmap);
1163 
1164 TRACE_EVENT(ocfs2_try_to_write_inline_data,
1165     TP_PROTO(unsigned long long ino, unsigned int len,
1166          unsigned long long pos, unsigned int flags),
1167     TP_ARGS(ino, len, pos, flags),
1168     TP_STRUCT__entry(
1169         __field(unsigned long long, ino)
1170         __field(unsigned int, len)
1171         __field(unsigned long long, pos)
1172         __field(unsigned int, flags)
1173     ),
1174     TP_fast_assign(
1175         __entry->ino = ino;
1176         __entry->len = len;
1177         __entry->pos = pos;
1178         __entry->flags = flags;
1179     ),
1180     TP_printk("%llu %u %llu 0x%x",
1181           __entry->ino, __entry->len, __entry->pos, __entry->flags)
1182 );
1183 
1184 TRACE_EVENT(ocfs2_write_begin_nolock,
1185     TP_PROTO(unsigned long long ino,
1186          long long i_size, unsigned int i_clusters,
1187          unsigned long long pos, unsigned int len,
1188          unsigned int flags, void *page,
1189          unsigned int clusters, unsigned int extents_to_split),
1190     TP_ARGS(ino, i_size, i_clusters, pos, len, flags,
1191         page, clusters, extents_to_split),
1192     TP_STRUCT__entry(
1193         __field(unsigned long long, ino)
1194         __field(long long, i_size)
1195         __field(unsigned int, i_clusters)
1196         __field(unsigned long long, pos)
1197         __field(unsigned int, len)
1198         __field(unsigned int, flags)
1199         __field(void *, page)
1200         __field(unsigned int, clusters)
1201         __field(unsigned int, extents_to_split)
1202     ),
1203     TP_fast_assign(
1204         __entry->ino = ino;
1205         __entry->i_size = i_size;
1206         __entry->i_clusters = i_clusters;
1207         __entry->pos = pos;
1208         __entry->len = len;
1209         __entry->flags = flags;
1210         __entry->page = page;
1211         __entry->clusters = clusters;
1212         __entry->extents_to_split = extents_to_split;
1213     ),
1214     TP_printk("%llu %lld %u %llu %u %u %p %u %u",
1215           __entry->ino, __entry->i_size, __entry->i_clusters,
1216           __entry->pos, __entry->len,
1217           __entry->flags, __entry->page, __entry->clusters,
1218           __entry->extents_to_split)
1219 );
1220 
1221 TRACE_EVENT(ocfs2_write_end_inline,
1222     TP_PROTO(unsigned long long ino,
1223          unsigned long long pos, unsigned int copied,
1224          unsigned int id_count, unsigned int features),
1225     TP_ARGS(ino, pos, copied, id_count, features),
1226     TP_STRUCT__entry(
1227         __field(unsigned long long, ino)
1228         __field(unsigned long long, pos)
1229         __field(unsigned int, copied)
1230         __field(unsigned int, id_count)
1231         __field(unsigned int, features)
1232     ),
1233     TP_fast_assign(
1234         __entry->ino = ino;
1235         __entry->pos = pos;
1236         __entry->copied = copied;
1237         __entry->id_count = id_count;
1238         __entry->features = features;
1239     ),
1240     TP_printk("%llu %llu %u %u %u",
1241           __entry->ino, __entry->pos, __entry->copied,
1242           __entry->id_count, __entry->features)
1243 );
1244 
1245 /* End of trace events for fs/ocfs2/aops.c. */
1246 
1247 /* Trace events for fs/ocfs2/mmap.c. */
1248 
1249 TRACE_EVENT(ocfs2_fault,
1250     TP_PROTO(unsigned long long ino,
1251          void *area, void *page, unsigned long pgoff),
1252     TP_ARGS(ino, area, page, pgoff),
1253     TP_STRUCT__entry(
1254         __field(unsigned long long, ino)
1255         __field(void *, area)
1256         __field(void *, page)
1257         __field(unsigned long, pgoff)
1258     ),
1259     TP_fast_assign(
1260         __entry->ino = ino;
1261         __entry->area = area;
1262         __entry->page = page;
1263         __entry->pgoff = pgoff;
1264     ),
1265     TP_printk("%llu %p %p %lu",
1266           __entry->ino, __entry->area, __entry->page, __entry->pgoff)
1267 );
1268 
1269 /* End of trace events for fs/ocfs2/mmap.c. */
1270 
1271 /* Trace events for fs/ocfs2/file.c. */
1272 
1273 DECLARE_EVENT_CLASS(ocfs2__file_ops,
1274     TP_PROTO(void *inode, void *file, void *dentry,
1275          unsigned long long ino,
1276          unsigned int d_len, const unsigned char *d_name,
1277          unsigned long long para),
1278     TP_ARGS(inode, file, dentry, ino, d_len, d_name, para),
1279     TP_STRUCT__entry(
1280         __field(void *, inode)
1281         __field(void *, file)
1282         __field(void *, dentry)
1283         __field(unsigned long long, ino)
1284         __field(unsigned int, d_len)
1285         __string(d_name, d_name)
1286         __field(unsigned long long, para)
1287     ),
1288     TP_fast_assign(
1289         __entry->inode = inode;
1290         __entry->file = file;
1291         __entry->dentry = dentry;
1292         __entry->ino = ino;
1293         __entry->d_len = d_len;
1294         __assign_str(d_name, d_name);
1295         __entry->para = para;
1296     ),
1297     TP_printk("%p %p %p %llu %llu %.*s", __entry->inode, __entry->file,
1298           __entry->dentry, __entry->ino, __entry->para,
1299           __entry->d_len, __get_str(d_name))
1300 );
1301 
1302 #define DEFINE_OCFS2_FILE_OPS(name)             \
1303 DEFINE_EVENT(ocfs2__file_ops, name,             \
1304 TP_PROTO(void *inode, void *file, void *dentry,         \
1305      unsigned long long ino,                \
1306      unsigned int d_len, const unsigned char *d_name,   \
1307      unsigned long long mode),              \
1308     TP_ARGS(inode, file, dentry, ino, d_len, d_name, mode))
1309 
1310 DEFINE_OCFS2_FILE_OPS(ocfs2_file_open);
1311 
1312 DEFINE_OCFS2_FILE_OPS(ocfs2_file_release);
1313 
1314 DEFINE_OCFS2_FILE_OPS(ocfs2_sync_file);
1315 
1316 DEFINE_OCFS2_FILE_OPS(ocfs2_file_write_iter);
1317 
1318 DEFINE_OCFS2_FILE_OPS(ocfs2_file_splice_write);
1319 
1320 DEFINE_OCFS2_FILE_OPS(ocfs2_file_read_iter);
1321 
1322 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_truncate_file);
1323 
1324 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_truncate_file_error);
1325 
1326 TRACE_EVENT(ocfs2_extend_allocation,
1327     TP_PROTO(unsigned long long ip_blkno, unsigned long long size,
1328          unsigned int clusters, unsigned int clusters_to_add,
1329          int why, int restart_func),
1330     TP_ARGS(ip_blkno, size, clusters, clusters_to_add, why, restart_func),
1331     TP_STRUCT__entry(
1332         __field(unsigned long long, ip_blkno)
1333         __field(unsigned long long, size)
1334         __field(unsigned int, clusters)
1335         __field(unsigned int, clusters_to_add)
1336         __field(int, why)
1337         __field(int, restart_func)
1338     ),
1339     TP_fast_assign(
1340         __entry->ip_blkno = ip_blkno;
1341         __entry->size = size;
1342         __entry->clusters = clusters;
1343         __entry->clusters_to_add = clusters_to_add;
1344         __entry->why = why;
1345         __entry->restart_func = restart_func;
1346     ),
1347     TP_printk("%llu %llu %u %u %d %d",
1348           __entry->ip_blkno, __entry->size, __entry->clusters,
1349           __entry->clusters_to_add, __entry->why, __entry->restart_func)
1350 );
1351 
1352 TRACE_EVENT(ocfs2_extend_allocation_end,
1353     TP_PROTO(unsigned long long ino,
1354          unsigned int di_clusters, unsigned long long di_size,
1355          unsigned int ip_clusters, unsigned long long i_size),
1356     TP_ARGS(ino, di_clusters, di_size, ip_clusters, i_size),
1357     TP_STRUCT__entry(
1358         __field(unsigned long long, ino)
1359         __field(unsigned int, di_clusters)
1360         __field(unsigned long long, di_size)
1361         __field(unsigned int, ip_clusters)
1362         __field(unsigned long long, i_size)
1363     ),
1364     TP_fast_assign(
1365         __entry->ino = ino;
1366         __entry->di_clusters = di_clusters;
1367         __entry->di_size = di_size;
1368         __entry->ip_clusters = ip_clusters;
1369         __entry->i_size = i_size;
1370     ),
1371     TP_printk("%llu %u %llu %u %llu", __entry->ino, __entry->di_clusters,
1372           __entry->di_size, __entry->ip_clusters, __entry->i_size)
1373 );
1374 
1375 TRACE_EVENT(ocfs2_write_zero_page,
1376     TP_PROTO(unsigned long long ino,
1377          unsigned long long abs_from, unsigned long long abs_to,
1378          unsigned long index, unsigned int zero_from,
1379          unsigned int zero_to),
1380     TP_ARGS(ino, abs_from, abs_to, index, zero_from, zero_to),
1381     TP_STRUCT__entry(
1382         __field(unsigned long long, ino)
1383         __field(unsigned long long, abs_from)
1384         __field(unsigned long long, abs_to)
1385         __field(unsigned long, index)
1386         __field(unsigned int, zero_from)
1387         __field(unsigned int, zero_to)
1388     ),
1389     TP_fast_assign(
1390         __entry->ino = ino;
1391         __entry->abs_from = abs_from;
1392         __entry->abs_to = abs_to;
1393         __entry->index = index;
1394         __entry->zero_from = zero_from;
1395         __entry->zero_to = zero_to;
1396     ),
1397     TP_printk("%llu %llu %llu %lu %u %u", __entry->ino,
1398           __entry->abs_from, __entry->abs_to,
1399           __entry->index, __entry->zero_from, __entry->zero_to)
1400 );
1401 
1402 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend_range);
1403 
1404 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_extend);
1405 
1406 TRACE_EVENT(ocfs2_setattr,
1407     TP_PROTO(void *inode, void *dentry,
1408          unsigned long long ino,
1409          unsigned int d_len, const unsigned char *d_name,
1410          unsigned int ia_valid, unsigned int ia_mode,
1411          unsigned int ia_uid, unsigned int ia_gid),
1412     TP_ARGS(inode, dentry, ino, d_len, d_name,
1413         ia_valid, ia_mode, ia_uid, ia_gid),
1414     TP_STRUCT__entry(
1415         __field(void *, inode)
1416         __field(void *, dentry)
1417         __field(unsigned long long, ino)
1418         __field(unsigned int, d_len)
1419         __string(d_name, d_name)
1420         __field(unsigned int, ia_valid)
1421         __field(unsigned int, ia_mode)
1422         __field(unsigned int, ia_uid)
1423         __field(unsigned int, ia_gid)
1424     ),
1425     TP_fast_assign(
1426         __entry->inode = inode;
1427         __entry->dentry = dentry;
1428         __entry->ino = ino;
1429         __entry->d_len = d_len;
1430         __assign_str(d_name, d_name);
1431         __entry->ia_valid = ia_valid;
1432         __entry->ia_mode = ia_mode;
1433         __entry->ia_uid = ia_uid;
1434         __entry->ia_gid = ia_gid;
1435     ),
1436     TP_printk("%p %p %llu %.*s %u %u %u %u", __entry->inode,
1437           __entry->dentry, __entry->ino, __entry->d_len,
1438           __get_str(d_name), __entry->ia_valid, __entry->ia_mode,
1439           __entry->ia_uid, __entry->ia_gid)
1440 );
1441 
1442 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_write_remove_suid);
1443 
1444 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_zero_partial_clusters);
1445 
1446 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range1);
1447 
1448 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_zero_partial_clusters_range2);
1449 
1450 DEFINE_OCFS2_ULL_ULL_ULL_EVENT(ocfs2_remove_inode_range);
1451 
1452 TRACE_EVENT(ocfs2_prepare_inode_for_write,
1453     TP_PROTO(unsigned long long ino, unsigned long long saved_pos,
1454          unsigned long count, int wait),
1455     TP_ARGS(ino, saved_pos, count, wait),
1456     TP_STRUCT__entry(
1457         __field(unsigned long long, ino)
1458         __field(unsigned long long, saved_pos)
1459         __field(unsigned long, count)
1460         __field(int, wait)
1461     ),
1462     TP_fast_assign(
1463         __entry->ino = ino;
1464         __entry->saved_pos = saved_pos;
1465         __entry->count = count;
1466         __entry->wait = wait;
1467     ),
1468     TP_printk("%llu %llu %lu %d", __entry->ino,
1469           __entry->saved_pos, __entry->count, __entry->wait)
1470 );
1471 
1472 DEFINE_OCFS2_INT_EVENT(generic_file_read_iter_ret);
1473 
1474 /* End of trace events for fs/ocfs2/file.c. */
1475 
1476 /* Trace events for fs/ocfs2/inode.c. */
1477 
1478 TRACE_EVENT(ocfs2_iget_begin,
1479     TP_PROTO(unsigned long long ino, unsigned int flags, int sysfile_type),
1480     TP_ARGS(ino, flags, sysfile_type),
1481     TP_STRUCT__entry(
1482         __field(unsigned long long, ino)
1483         __field(unsigned int, flags)
1484         __field(int, sysfile_type)
1485     ),
1486     TP_fast_assign(
1487         __entry->ino = ino;
1488         __entry->flags = flags;
1489         __entry->sysfile_type = sysfile_type;
1490     ),
1491     TP_printk("%llu %u %d", __entry->ino,
1492           __entry->flags, __entry->sysfile_type)
1493 );
1494 
1495 DEFINE_OCFS2_ULL_EVENT(ocfs2_iget5_locked);
1496 
1497 TRACE_EVENT(ocfs2_iget_end,
1498     TP_PROTO(void *inode, unsigned long long ino),
1499     TP_ARGS(inode, ino),
1500     TP_STRUCT__entry(
1501         __field(void *, inode)
1502         __field(unsigned long long, ino)
1503     ),
1504     TP_fast_assign(
1505         __entry->inode = inode;
1506         __entry->ino = ino;
1507     ),
1508     TP_printk("%p %llu", __entry->inode, __entry->ino)
1509 );
1510 
1511 TRACE_EVENT(ocfs2_find_actor,
1512     TP_PROTO(void *inode, unsigned long long ino,
1513          void *args,  unsigned long long fi_blkno),
1514     TP_ARGS(inode, ino, args, fi_blkno),
1515     TP_STRUCT__entry(
1516         __field(void *, inode)
1517         __field(unsigned long long, ino)
1518         __field(void *, args)
1519         __field(unsigned long long, fi_blkno)
1520     ),
1521     TP_fast_assign(
1522         __entry->inode = inode;
1523         __entry->ino = ino;
1524         __entry->args = args;
1525         __entry->fi_blkno = fi_blkno;
1526     ),
1527     TP_printk("%p %llu %p %llu", __entry->inode, __entry->ino,
1528           __entry->args, __entry->fi_blkno)
1529 );
1530 
1531 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_populate_inode);
1532 
1533 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_read_locked_inode);
1534 
1535 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_check_orphan_recovery_state);
1536 
1537 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_inode_block);
1538 DEFINE_OCFS2_ULL_EVENT(ocfs2_filecheck_validate_inode_block);
1539 DEFINE_OCFS2_ULL_EVENT(ocfs2_filecheck_repair_inode_block);
1540 
1541 TRACE_EVENT(ocfs2_inode_is_valid_to_delete,
1542     TP_PROTO(void *task, void *dc_task, unsigned long long ino,
1543          unsigned int flags),
1544     TP_ARGS(task, dc_task, ino, flags),
1545     TP_STRUCT__entry(
1546         __field(void *, task)
1547         __field(void *, dc_task)
1548         __field(unsigned long long, ino)
1549         __field(unsigned int, flags)
1550     ),
1551     TP_fast_assign(
1552         __entry->task = task;
1553         __entry->dc_task = dc_task;
1554         __entry->ino = ino;
1555         __entry->flags = flags;
1556     ),
1557     TP_printk("%p %p %llu %u", __entry->task, __entry->dc_task,
1558           __entry->ino, __entry->flags)
1559 );
1560 
1561 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_query_inode_wipe_begin);
1562 
1563 DEFINE_OCFS2_UINT_EVENT(ocfs2_query_inode_wipe_succ);
1564 
1565 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_query_inode_wipe_end);
1566 
1567 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_cleanup_delete_inode);
1568 
1569 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_delete_inode);
1570 
1571 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_clear_inode);
1572 
1573 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_drop_inode);
1574 
1575 TRACE_EVENT(ocfs2_inode_revalidate,
1576     TP_PROTO(void *inode, unsigned long long ino,
1577          unsigned int flags),
1578     TP_ARGS(inode, ino, flags),
1579     TP_STRUCT__entry(
1580         __field(void *, inode)
1581         __field(unsigned long long, ino)
1582         __field(unsigned int, flags)
1583     ),
1584     TP_fast_assign(
1585         __entry->inode = inode;
1586         __entry->ino = ino;
1587         __entry->flags = flags;
1588     ),
1589     TP_printk("%p %llu %u", __entry->inode, __entry->ino, __entry->flags)
1590 );
1591 
1592 DEFINE_OCFS2_ULL_EVENT(ocfs2_mark_inode_dirty);
1593 
1594 /* End of trace events for fs/ocfs2/inode.c. */
1595 
1596 /* Trace events for fs/ocfs2/extent_map.c. */
1597 
1598 TRACE_EVENT(ocfs2_read_virt_blocks,
1599     TP_PROTO(void *inode, unsigned long long vblock, int nr,
1600          void *bhs, unsigned int flags, void *validate),
1601     TP_ARGS(inode, vblock, nr, bhs, flags, validate),
1602     TP_STRUCT__entry(
1603         __field(void *, inode)
1604         __field(unsigned long long, vblock)
1605         __field(int, nr)
1606         __field(void *, bhs)
1607         __field(unsigned int, flags)
1608         __field(void *, validate)
1609     ),
1610     TP_fast_assign(
1611         __entry->inode = inode;
1612         __entry->vblock = vblock;
1613         __entry->nr = nr;
1614         __entry->bhs = bhs;
1615         __entry->flags = flags;
1616         __entry->validate = validate;
1617     ),
1618     TP_printk("%p %llu %d %p %x %p", __entry->inode, __entry->vblock,
1619           __entry->nr, __entry->bhs, __entry->flags, __entry->validate)
1620 );
1621 
1622 /* End of trace events for fs/ocfs2/extent_map.c. */
1623 
1624 /* Trace events for fs/ocfs2/slot_map.c. */
1625 
1626 DEFINE_OCFS2_UINT_EVENT(ocfs2_refresh_slot_info);
1627 
1628 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers);
1629 
1630 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_map_slot_buffers_block);
1631 
1632 DEFINE_OCFS2_INT_EVENT(ocfs2_find_slot);
1633 
1634 /* End of trace events for fs/ocfs2/slot_map.c. */
1635 
1636 /* Trace events for fs/ocfs2/heartbeat.c. */
1637 
1638 DEFINE_OCFS2_INT_EVENT(ocfs2_do_node_down);
1639 
1640 /* End of trace events for fs/ocfs2/heartbeat.c. */
1641 
1642 /* Trace events for fs/ocfs2/super.c. */
1643 
1644 TRACE_EVENT(ocfs2_remount,
1645     TP_PROTO(unsigned long s_flags, unsigned long osb_flags, int flags),
1646     TP_ARGS(s_flags, osb_flags, flags),
1647     TP_STRUCT__entry(
1648         __field(unsigned long, s_flags)
1649         __field(unsigned long, osb_flags)
1650         __field(int, flags)
1651     ),
1652     TP_fast_assign(
1653         __entry->s_flags = s_flags;
1654         __entry->osb_flags = osb_flags;
1655         __entry->flags = flags;
1656     ),
1657     TP_printk("%lu %lu %d", __entry->s_flags,
1658           __entry->osb_flags, __entry->flags)
1659 );
1660 
1661 TRACE_EVENT(ocfs2_fill_super,
1662     TP_PROTO(void *sb, void *data, int silent),
1663     TP_ARGS(sb, data, silent),
1664     TP_STRUCT__entry(
1665         __field(void *, sb)
1666         __field(void *, data)
1667         __field(int, silent)
1668     ),
1669     TP_fast_assign(
1670         __entry->sb = sb;
1671         __entry->data = data;
1672         __entry->silent = silent;
1673     ),
1674     TP_printk("%p %p %d", __entry->sb,
1675           __entry->data, __entry->silent)
1676 );
1677 
1678 TRACE_EVENT(ocfs2_parse_options,
1679     TP_PROTO(int is_remount, char *options),
1680     TP_ARGS(is_remount, options),
1681     TP_STRUCT__entry(
1682         __field(int, is_remount)
1683         __string(options, options)
1684     ),
1685     TP_fast_assign(
1686         __entry->is_remount = is_remount;
1687         __assign_str(options, options);
1688     ),
1689     TP_printk("%d %s", __entry->is_remount, __get_str(options))
1690 );
1691 
1692 DEFINE_OCFS2_POINTER_EVENT(ocfs2_put_super);
1693 
1694 TRACE_EVENT(ocfs2_statfs,
1695     TP_PROTO(void *sb, void *buf),
1696     TP_ARGS(sb, buf),
1697     TP_STRUCT__entry(
1698         __field(void *, sb)
1699         __field(void *, buf)
1700     ),
1701     TP_fast_assign(
1702         __entry->sb = sb;
1703         __entry->buf = buf;
1704     ),
1705     TP_printk("%p %p", __entry->sb, __entry->buf)
1706 );
1707 
1708 DEFINE_OCFS2_POINTER_EVENT(ocfs2_dismount_volume);
1709 
1710 TRACE_EVENT(ocfs2_initialize_super,
1711     TP_PROTO(char *label, char *uuid_str, unsigned long long root_dir,
1712          unsigned long long system_dir, int cluster_bits),
1713     TP_ARGS(label, uuid_str, root_dir, system_dir, cluster_bits),
1714     TP_STRUCT__entry(
1715         __string(label, label)
1716         __string(uuid_str, uuid_str)
1717         __field(unsigned long long, root_dir)
1718         __field(unsigned long long, system_dir)
1719         __field(int, cluster_bits)
1720     ),
1721     TP_fast_assign(
1722         __assign_str(label, label);
1723         __assign_str(uuid_str, uuid_str);
1724         __entry->root_dir = root_dir;
1725         __entry->system_dir = system_dir;
1726         __entry->cluster_bits = cluster_bits;
1727     ),
1728     TP_printk("%s %s %llu %llu %d", __get_str(label), __get_str(uuid_str),
1729           __entry->root_dir, __entry->system_dir, __entry->cluster_bits)
1730 );
1731 
1732 /* End of trace events for fs/ocfs2/super.c. */
1733 
1734 /* Trace events for fs/ocfs2/xattr.c. */
1735 
1736 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_xattr_block);
1737 
1738 DEFINE_OCFS2_UINT_EVENT(ocfs2_xattr_extend_allocation);
1739 
1740 TRACE_EVENT(ocfs2_init_xattr_set_ctxt,
1741     TP_PROTO(const char *name, int meta, int clusters, int credits),
1742     TP_ARGS(name, meta, clusters, credits),
1743     TP_STRUCT__entry(
1744         __string(name, name)
1745         __field(int, meta)
1746         __field(int, clusters)
1747         __field(int, credits)
1748     ),
1749     TP_fast_assign(
1750         __assign_str(name, name);
1751         __entry->meta = meta;
1752         __entry->clusters = clusters;
1753         __entry->credits = credits;
1754     ),
1755     TP_printk("%s %d %d %d", __get_str(name), __entry->meta,
1756           __entry->clusters, __entry->credits)
1757 );
1758 
1759 DECLARE_EVENT_CLASS(ocfs2__xattr_find,
1760     TP_PROTO(unsigned long long ino, const char *name, int name_index,
1761          unsigned int hash, unsigned long long location,
1762          int xe_index),
1763     TP_ARGS(ino, name, name_index, hash, location, xe_index),
1764     TP_STRUCT__entry(
1765         __field(unsigned long long, ino)
1766         __string(name, name)
1767         __field(int, name_index)
1768         __field(unsigned int, hash)
1769         __field(unsigned long long, location)
1770         __field(int, xe_index)
1771     ),
1772     TP_fast_assign(
1773         __entry->ino = ino;
1774         __assign_str(name, name);
1775         __entry->name_index = name_index;
1776         __entry->hash = hash;
1777         __entry->location = location;
1778         __entry->xe_index = xe_index;
1779     ),
1780     TP_printk("%llu %s %d %u %llu %d", __entry->ino, __get_str(name),
1781           __entry->name_index, __entry->hash, __entry->location,
1782           __entry->xe_index)
1783 );
1784 
1785 #define DEFINE_OCFS2_XATTR_FIND_EVENT(name)                 \
1786 DEFINE_EVENT(ocfs2__xattr_find, name,                   \
1787 TP_PROTO(unsigned long long ino, const char *name, int name_index,  \
1788      unsigned int hash, unsigned long long bucket,          \
1789      int xe_index),                         \
1790     TP_ARGS(ino, name, name_index, hash, bucket, xe_index))
1791 
1792 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_bucket_find);
1793 
1794 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find);
1795 
1796 DEFINE_OCFS2_XATTR_FIND_EVENT(ocfs2_xattr_index_block_find_rec);
1797 
1798 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_iterate_xattr_buckets);
1799 
1800 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_iterate_xattr_bucket);
1801 
1802 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_cp_xattr_block_to_bucket_begin);
1803 
1804 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cp_xattr_block_to_bucket_end);
1805 
1806 DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block_begin);
1807 
1808 DEFINE_OCFS2_ULL_EVENT(ocfs2_xattr_create_index_block);
1809 
1810 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_defrag_xattr_bucket);
1811 
1812 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_bucket_cross_cluster);
1813 
1814 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_divide_xattr_bucket_begin);
1815 
1816 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_divide_xattr_bucket_move);
1817 
1818 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_cp_xattr_bucket);
1819 
1820 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_mv_xattr_buckets);
1821 
1822 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_adjust_xattr_cross_cluster);
1823 
1824 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_begin);
1825 
1826 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_add_new_xattr_cluster);
1827 
1828 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_add_new_xattr_cluster_insert);
1829 
1830 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_extend_xattr_bucket);
1831 
1832 DEFINE_OCFS2_ULL_EVENT(ocfs2_add_new_xattr_bucket);
1833 
1834 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_xattr_bucket_value_truncate);
1835 
1836 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_rm_xattr_cluster);
1837 
1838 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_header);
1839 
1840 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_create_empty_xattr_block);
1841 
1842 DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_bucket);
1843 
1844 DEFINE_OCFS2_STRING_EVENT(ocfs2_xattr_set_entry_index_block);
1845 
1846 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_xattr_bucket_value_refcount);
1847 
1848 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_reflink_xattr_buckets);
1849 
1850 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_reflink_xattr_rec);
1851 
1852 /* End of trace events for fs/ocfs2/xattr.c. */
1853 
1854 /* Trace events for fs/ocfs2/reservations.c. */
1855 
1856 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_insert);
1857 
1858 DEFINE_OCFS2_ULL_UINT_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_begin);
1859 
1860 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_find_free_bits_end);
1861 
1862 TRACE_EVENT(ocfs2_resv_find_window_begin,
1863     TP_PROTO(unsigned int r_start, unsigned int r_end, unsigned int goal,
1864          unsigned int wanted, int empty_root),
1865     TP_ARGS(r_start, r_end, goal, wanted, empty_root),
1866     TP_STRUCT__entry(
1867         __field(unsigned int, r_start)
1868         __field(unsigned int, r_end)
1869         __field(unsigned int, goal)
1870         __field(unsigned int, wanted)
1871         __field(int, empty_root)
1872     ),
1873     TP_fast_assign(
1874         __entry->r_start = r_start;
1875         __entry->r_end = r_end;
1876         __entry->goal = goal;
1877         __entry->wanted = wanted;
1878         __entry->empty_root = empty_root;
1879     ),
1880     TP_printk("%u %u %u %u %d", __entry->r_start, __entry->r_end,
1881           __entry->goal, __entry->wanted, __entry->empty_root)
1882 );
1883 
1884 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resv_find_window_prev);
1885 
1886 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_resv_find_window_next);
1887 
1888 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_cannibalize_resv_begin);
1889 
1890 TRACE_EVENT(ocfs2_cannibalize_resv_end,
1891     TP_PROTO(unsigned int start, unsigned int end, unsigned int len,
1892          unsigned int last_start, unsigned int last_len),
1893     TP_ARGS(start, end, len, last_start, last_len),
1894     TP_STRUCT__entry(
1895         __field(unsigned int, start)
1896         __field(unsigned int, end)
1897         __field(unsigned int, len)
1898         __field(unsigned int, last_start)
1899         __field(unsigned int, last_len)
1900     ),
1901     TP_fast_assign(
1902         __entry->start = start;
1903         __entry->end = end;
1904         __entry->len = len;
1905         __entry->last_start = last_start;
1906         __entry->last_len = last_len;
1907     ),
1908     TP_printk("%u %u %u %u %u", __entry->start, __entry->end,
1909           __entry->len, __entry->last_start, __entry->last_len)
1910 );
1911 
1912 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_resmap_resv_bits);
1913 
1914 TRACE_EVENT(ocfs2_resmap_claimed_bits_begin,
1915     TP_PROTO(unsigned int cstart, unsigned int cend, unsigned int clen,
1916          unsigned int r_start, unsigned int r_end, unsigned int r_len,
1917          unsigned int last_start, unsigned int last_len),
1918     TP_ARGS(cstart, cend, clen, r_start, r_end,
1919         r_len, last_start, last_len),
1920     TP_STRUCT__entry(
1921         __field(unsigned int, cstart)
1922         __field(unsigned int, cend)
1923         __field(unsigned int, clen)
1924         __field(unsigned int, r_start)
1925         __field(unsigned int, r_end)
1926         __field(unsigned int, r_len)
1927         __field(unsigned int, last_start)
1928         __field(unsigned int, last_len)
1929     ),
1930     TP_fast_assign(
1931         __entry->cstart = cstart;
1932         __entry->cend = cend;
1933         __entry->clen = clen;
1934         __entry->r_start = r_start;
1935         __entry->r_end = r_end;
1936         __entry->r_len = r_len;
1937         __entry->last_start = last_start;
1938         __entry->last_len = last_len;
1939     ),
1940     TP_printk("%u %u %u %u %u %u %u %u",
1941           __entry->cstart, __entry->cend, __entry->clen,
1942           __entry->r_start, __entry->r_end, __entry->r_len,
1943           __entry->last_start, __entry->last_len)
1944 );
1945 
1946 TRACE_EVENT(ocfs2_resmap_claimed_bits_end,
1947     TP_PROTO(unsigned int start, unsigned int end, unsigned int len,
1948          unsigned int last_start, unsigned int last_len),
1949     TP_ARGS(start, end, len, last_start, last_len),
1950     TP_STRUCT__entry(
1951         __field(unsigned int, start)
1952         __field(unsigned int, end)
1953         __field(unsigned int, len)
1954         __field(unsigned int, last_start)
1955         __field(unsigned int, last_len)
1956     ),
1957     TP_fast_assign(
1958         __entry->start = start;
1959         __entry->end = end;
1960         __entry->len = len;
1961         __entry->last_start = last_start;
1962         __entry->last_len = last_len;
1963     ),
1964     TP_printk("%u %u %u %u %u", __entry->start, __entry->end,
1965           __entry->len, __entry->last_start, __entry->last_len)
1966 );
1967 
1968 /* End of trace events for fs/ocfs2/reservations.c. */
1969 
1970 /* Trace events for fs/ocfs2/quota_local.c. */
1971 
1972 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_recover_local_quota_file);
1973 
1974 DEFINE_OCFS2_INT_EVENT(ocfs2_finish_quota_recovery);
1975 
1976 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(olq_set_dquot);
1977 
1978 /* End of trace events for fs/ocfs2/quota_local.c. */
1979 
1980 /* Trace events for fs/ocfs2/quota_global.c. */
1981 
1982 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_quota_block);
1983 
1984 TRACE_EVENT(ocfs2_sync_dquot,
1985     TP_PROTO(unsigned int dq_id, long long dqb_curspace,
1986          long long spacechange, long long curinodes,
1987          long long inodechange),
1988     TP_ARGS(dq_id, dqb_curspace, spacechange, curinodes, inodechange),
1989     TP_STRUCT__entry(
1990         __field(unsigned int, dq_id)
1991         __field(long long, dqb_curspace)
1992         __field(long long, spacechange)
1993         __field(long long, curinodes)
1994         __field(long long, inodechange)
1995     ),
1996     TP_fast_assign(
1997         __entry->dq_id = dq_id;
1998         __entry->dqb_curspace = dqb_curspace;
1999         __entry->spacechange = spacechange;
2000         __entry->curinodes = curinodes;
2001         __entry->inodechange = inodechange;
2002     ),
2003     TP_printk("%u %lld %lld %lld %lld", __entry->dq_id,
2004           __entry->dqb_curspace, __entry->spacechange,
2005           __entry->curinodes, __entry->inodechange)
2006 );
2007 
2008 TRACE_EVENT(ocfs2_sync_dquot_helper,
2009     TP_PROTO(unsigned int dq_id, unsigned int dq_type, unsigned long type,
2010          const char *s_id),
2011     TP_ARGS(dq_id, dq_type, type, s_id),
2012 
2013     TP_STRUCT__entry(
2014         __field(unsigned int, dq_id)
2015         __field(unsigned int, dq_type)
2016         __field(unsigned long, type)
2017         __string(s_id, s_id)
2018     ),
2019     TP_fast_assign(
2020         __entry->dq_id = dq_id;
2021         __entry->dq_type = dq_type;
2022         __entry->type = type;
2023         __assign_str(s_id, s_id);
2024     ),
2025     TP_printk("%u %u %lu %s", __entry->dq_id, __entry->dq_type,
2026           __entry->type, __get_str(s_id))
2027 );
2028 
2029 DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_write_dquot);
2030 
2031 DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_release_dquot);
2032 
2033 DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_acquire_dquot);
2034 
2035 DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_get_next_id);
2036 
2037 DEFINE_OCFS2_UINT_INT_EVENT(ocfs2_mark_dquot_dirty);
2038 
2039 /* End of trace events for fs/ocfs2/quota_global.c. */
2040 
2041 /* Trace events for fs/ocfs2/dir.c. */
2042 DEFINE_OCFS2_INT_EVENT(ocfs2_search_dirblock);
2043 
2044 DEFINE_OCFS2_ULL_EVENT(ocfs2_validate_dir_block);
2045 
2046 DEFINE_OCFS2_POINTER_EVENT(ocfs2_find_entry_el);
2047 
2048 TRACE_EVENT(ocfs2_dx_dir_search,
2049     TP_PROTO(unsigned long long ino, int namelen, const char *name,
2050          unsigned int major_hash, unsigned int minor_hash,
2051          unsigned long long blkno),
2052     TP_ARGS(ino, namelen, name, major_hash, minor_hash, blkno),
2053     TP_STRUCT__entry(
2054         __field(unsigned long long, ino)
2055         __field(int, namelen)
2056         __string(name, name)
2057         __field(unsigned int, major_hash)
2058         __field(unsigned int,minor_hash)
2059         __field(unsigned long long, blkno)
2060     ),
2061     TP_fast_assign(
2062         __entry->ino = ino;
2063         __entry->namelen = namelen;
2064         __assign_str(name, name);
2065         __entry->major_hash = major_hash;
2066         __entry->minor_hash = minor_hash;
2067         __entry->blkno = blkno;
2068     ),
2069     TP_printk("%llu %.*s %u %u %llu", __entry->ino,
2070            __entry->namelen, __get_str(name),
2071           __entry->major_hash, __entry->minor_hash, __entry->blkno)
2072 );
2073 
2074 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_dx_dir_search_leaf_info);
2075 
2076 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_delete_entry_dx);
2077 
2078 DEFINE_OCFS2_ULL_EVENT(ocfs2_readdir);
2079 
2080 TRACE_EVENT(ocfs2_find_files_on_disk,
2081     TP_PROTO(int namelen, const char *name, void *blkno,
2082          unsigned long long dir),
2083     TP_ARGS(namelen, name, blkno, dir),
2084     TP_STRUCT__entry(
2085         __field(int, namelen)
2086         __string(name, name)
2087         __field(void *, blkno)
2088         __field(unsigned long long, dir)
2089     ),
2090     TP_fast_assign(
2091         __entry->namelen = namelen;
2092         __assign_str(name, name);
2093         __entry->blkno = blkno;
2094         __entry->dir = dir;
2095     ),
2096     TP_printk("%.*s %p %llu", __entry->namelen, __get_str(name),
2097           __entry->blkno, __entry->dir)
2098 );
2099 
2100 TRACE_EVENT(ocfs2_check_dir_for_entry,
2101     TP_PROTO(unsigned long long dir, int namelen, const char *name),
2102     TP_ARGS(dir, namelen, name),
2103     TP_STRUCT__entry(
2104         __field(unsigned long long, dir)
2105         __field(int, namelen)
2106         __string(name, name)
2107     ),
2108     TP_fast_assign(
2109         __entry->dir = dir;
2110         __entry->namelen = namelen;
2111         __assign_str(name, name);
2112     ),
2113     TP_printk("%llu %.*s", __entry->dir,
2114           __entry->namelen, __get_str(name))
2115 );
2116 
2117 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_dx_dir_attach_index);
2118 
2119 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_dx_dir_format_cluster);
2120 
2121 TRACE_EVENT(ocfs2_dx_dir_index_root_block,
2122     TP_PROTO(unsigned long long dir,
2123          unsigned int major_hash, unsigned int minor_hash,
2124          int namelen, const char *name, unsigned int num_used),
2125     TP_ARGS(dir, major_hash, minor_hash, namelen, name, num_used),
2126     TP_STRUCT__entry(
2127         __field(unsigned long long, dir)
2128         __field(unsigned int, major_hash)
2129         __field(unsigned int, minor_hash)
2130         __field(int, namelen)
2131         __string(name, name)
2132         __field(unsigned int, num_used)
2133     ),
2134     TP_fast_assign(
2135         __entry->dir = dir;
2136         __entry->major_hash = major_hash;
2137         __entry->minor_hash = minor_hash;
2138         __entry->namelen = namelen;
2139         __assign_str(name, name);
2140         __entry->num_used = num_used;
2141     ),
2142     TP_printk("%llu %x %x %.*s %u", __entry->dir,
2143           __entry->major_hash, __entry->minor_hash,
2144            __entry->namelen, __get_str(name), __entry->num_used)
2145 );
2146 
2147 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_extend_dir);
2148 
2149 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_dx_dir_rebalance);
2150 
2151 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_dx_dir_rebalance_split);
2152 
2153 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_prepare_dir_for_insert);
2154 
2155 /* End of trace events for fs/ocfs2/dir.c. */
2156 
2157 /* Trace events for fs/ocfs2/namei.c. */
2158 
2159 DECLARE_EVENT_CLASS(ocfs2__dentry_ops,
2160     TP_PROTO(void *dir, void *dentry, int name_len, const char *name,
2161          unsigned long long dir_blkno, unsigned long long extra),
2162     TP_ARGS(dir, dentry, name_len, name, dir_blkno, extra),
2163     TP_STRUCT__entry(
2164         __field(void *, dir)
2165         __field(void *, dentry)
2166         __field(int, name_len)
2167         __string(name, name)
2168         __field(unsigned long long, dir_blkno)
2169         __field(unsigned long long, extra)
2170     ),
2171     TP_fast_assign(
2172         __entry->dir = dir;
2173         __entry->dentry = dentry;
2174         __entry->name_len = name_len;
2175         __assign_str(name, name);
2176         __entry->dir_blkno = dir_blkno;
2177         __entry->extra = extra;
2178     ),
2179     TP_printk("%p %p %.*s %llu %llu", __entry->dir, __entry->dentry,
2180           __entry->name_len, __get_str(name),
2181           __entry->dir_blkno, __entry->extra)
2182 );
2183 
2184 #define DEFINE_OCFS2_DENTRY_OPS(name)                   \
2185 DEFINE_EVENT(ocfs2__dentry_ops, name,                   \
2186 TP_PROTO(void *dir, void *dentry, int name_len, const char *name,   \
2187      unsigned long long dir_blkno, unsigned long long extra),   \
2188     TP_ARGS(dir, dentry, name_len, name, dir_blkno, extra))
2189 
2190 DEFINE_OCFS2_DENTRY_OPS(ocfs2_lookup);
2191 
2192 DEFINE_OCFS2_DENTRY_OPS(ocfs2_mkdir);
2193 
2194 DEFINE_OCFS2_DENTRY_OPS(ocfs2_create);
2195 
2196 DEFINE_OCFS2_DENTRY_OPS(ocfs2_unlink);
2197 
2198 DEFINE_OCFS2_DENTRY_OPS(ocfs2_symlink_create);
2199 
2200 DEFINE_OCFS2_DENTRY_OPS(ocfs2_mv_orphaned_inode_to_new);
2201 
2202 DEFINE_OCFS2_POINTER_EVENT(ocfs2_lookup_ret);
2203 
2204 TRACE_EVENT(ocfs2_mknod,
2205     TP_PROTO(void *dir, void *dentry, int name_len, const char *name,
2206          unsigned long long dir_blkno, unsigned long dev, int mode),
2207     TP_ARGS(dir, dentry, name_len, name, dir_blkno, dev, mode),
2208     TP_STRUCT__entry(
2209         __field(void *, dir)
2210         __field(void *, dentry)
2211         __field(int, name_len)
2212         __string(name, name)
2213         __field(unsigned long long, dir_blkno)
2214         __field(unsigned long, dev)
2215         __field(int, mode)
2216     ),
2217     TP_fast_assign(
2218         __entry->dir = dir;
2219         __entry->dentry = dentry;
2220         __entry->name_len = name_len;
2221         __assign_str(name, name);
2222         __entry->dir_blkno = dir_blkno;
2223         __entry->dev = dev;
2224         __entry->mode = mode;
2225     ),
2226     TP_printk("%p %p %.*s %llu %lu %d", __entry->dir, __entry->dentry,
2227           __entry->name_len, __get_str(name),
2228           __entry->dir_blkno, __entry->dev, __entry->mode)
2229 );
2230 
2231 TRACE_EVENT(ocfs2_link,
2232     TP_PROTO(unsigned long long ino, int old_len, const char *old_name,
2233          int name_len, const char *name),
2234     TP_ARGS(ino, old_len, old_name, name_len, name),
2235     TP_STRUCT__entry(
2236         __field(unsigned long long, ino)
2237         __field(int, old_len)
2238         __string(old_name, old_name)
2239         __field(int, name_len)
2240         __string(name, name)
2241     ),
2242     TP_fast_assign(
2243         __entry->ino = ino;
2244         __entry->old_len = old_len;
2245         __assign_str(old_name, old_name);
2246         __entry->name_len = name_len;
2247         __assign_str(name, name);
2248     ),
2249     TP_printk("%llu %.*s %.*s", __entry->ino,
2250           __entry->old_len, __get_str(old_name),
2251           __entry->name_len, __get_str(name))
2252 );
2253 
2254 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_unlink_noent);
2255 
2256 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_double_lock);
2257 
2258 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_double_lock_end);
2259 
2260 TRACE_EVENT(ocfs2_rename,
2261     TP_PROTO(void *old_dir, void *old_dentry,
2262          void *new_dir, void *new_dentry,
2263          int old_len, const char *old_name,
2264          int new_len, const char *new_name),
2265     TP_ARGS(old_dir, old_dentry, new_dir, new_dentry,
2266         old_len, old_name, new_len, new_name),
2267     TP_STRUCT__entry(
2268         __field(void *, old_dir)
2269         __field(void *, old_dentry)
2270         __field(void *, new_dir)
2271         __field(void *, new_dentry)
2272         __field(int, old_len)
2273         __string(old_name, old_name)
2274         __field(int, new_len)
2275         __string(new_name, new_name)
2276     ),
2277     TP_fast_assign(
2278         __entry->old_dir = old_dir;
2279         __entry->old_dentry = old_dentry;
2280         __entry->new_dir = new_dir;
2281         __entry->new_dentry = new_dentry;
2282         __entry->old_len = old_len;
2283         __assign_str(old_name, old_name);
2284         __entry->new_len = new_len;
2285         __assign_str(new_name, new_name);
2286     ),
2287     TP_printk("%p %p %p %p %.*s %.*s",
2288           __entry->old_dir, __entry->old_dentry,
2289           __entry->new_dir, __entry->new_dentry,
2290           __entry->old_len, __get_str(old_name),
2291           __entry->new_len, __get_str(new_name))
2292 );
2293 
2294 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_rename_not_permitted);
2295 
2296 TRACE_EVENT(ocfs2_rename_target_exists,
2297     TP_PROTO(int new_len, const char *new_name),
2298     TP_ARGS(new_len, new_name),
2299     TP_STRUCT__entry(
2300         __field(int, new_len)
2301         __string(new_name, new_name)
2302     ),
2303     TP_fast_assign(
2304         __entry->new_len = new_len;
2305         __assign_str(new_name, new_name);
2306     ),
2307     TP_printk("%.*s", __entry->new_len, __get_str(new_name))
2308 );
2309 
2310 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_rename_disagree);
2311 
2312 TRACE_EVENT(ocfs2_rename_over_existing,
2313     TP_PROTO(unsigned long long new_blkno, void *new_bh,
2314          unsigned long long newdi_blkno),
2315     TP_ARGS(new_blkno, new_bh, newdi_blkno),
2316     TP_STRUCT__entry(
2317         __field(unsigned long long, new_blkno)
2318         __field(void *, new_bh)
2319         __field(unsigned long long, newdi_blkno)
2320     ),
2321     TP_fast_assign(
2322         __entry->new_blkno = new_blkno;
2323         __entry->new_bh = new_bh;
2324         __entry->newdi_blkno = newdi_blkno;
2325     ),
2326     TP_printk("%llu %p %llu", __entry->new_blkno, __entry->new_bh,
2327           __entry->newdi_blkno)
2328 );
2329 
2330 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_create_symlink_data);
2331 
2332 TRACE_EVENT(ocfs2_symlink_begin,
2333     TP_PROTO(void *dir, void *dentry, const char *symname,
2334          int len, const char *name),
2335     TP_ARGS(dir, dentry, symname, len, name),
2336     TP_STRUCT__entry(
2337         __field(void *, dir)
2338         __field(void *, dentry)
2339         __field(const char *, symname)
2340         __field(int, len)
2341         __string(name, name)
2342     ),
2343     TP_fast_assign(
2344         __entry->dir = dir;
2345         __entry->dentry = dentry;
2346         __entry->symname = symname;
2347         __entry->len = len;
2348         __assign_str(name, name);
2349     ),
2350     TP_printk("%p %p %s %.*s", __entry->dir, __entry->dentry,
2351           __entry->symname, __entry->len, __get_str(name))
2352 );
2353 
2354 TRACE_EVENT(ocfs2_blkno_stringify,
2355     TP_PROTO(unsigned long long blkno, const char *name, int namelen),
2356     TP_ARGS(blkno, name, namelen),
2357     TP_STRUCT__entry(
2358         __field(unsigned long long, blkno)
2359         __string(name, name)
2360         __field(int, namelen)
2361     ),
2362     TP_fast_assign(
2363         __entry->blkno = blkno;
2364         __assign_str(name, name);
2365         __entry->namelen = namelen;
2366     ),
2367     TP_printk("%llu %s %d", __entry->blkno, __get_str(name),
2368           __entry->namelen)
2369 );
2370 
2371 DEFINE_OCFS2_ULL_EVENT(ocfs2_orphan_add_begin);
2372 
2373 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_orphan_add_end);
2374 
2375 TRACE_EVENT(ocfs2_orphan_del,
2376     TP_PROTO(unsigned long long dir, const char *name, int namelen),
2377     TP_ARGS(dir, name, namelen),
2378     TP_STRUCT__entry(
2379         __field(unsigned long long, dir)
2380         __string(name, name)
2381         __field(int, namelen)
2382     ),
2383     TP_fast_assign(
2384         __entry->dir = dir;
2385         __assign_str(name, name);
2386         __entry->namelen = namelen;
2387     ),
2388     TP_printk("%llu %s %d", __entry->dir, __get_str(name),
2389           __entry->namelen)
2390 );
2391 
2392 /* End of trace events for fs/ocfs2/namei.c. */
2393 
2394 /* Trace events for fs/ocfs2/dcache.c. */
2395 
2396 TRACE_EVENT(ocfs2_dentry_revalidate,
2397     TP_PROTO(void *dentry, int len, const char *name),
2398     TP_ARGS(dentry, len, name),
2399     TP_STRUCT__entry(
2400         __field(void *, dentry)
2401         __field(int, len)
2402         __string(name, name)
2403     ),
2404     TP_fast_assign(
2405         __entry->dentry = dentry;
2406         __entry->len = len;
2407         __assign_str(name, name);
2408     ),
2409     TP_printk("%p %.*s", __entry->dentry, __entry->len, __get_str(name))
2410 );
2411 
2412 TRACE_EVENT(ocfs2_dentry_revalidate_negative,
2413     TP_PROTO(int len, const char *name, unsigned long pgen,
2414          unsigned long gen),
2415     TP_ARGS(len, name, pgen, gen),
2416     TP_STRUCT__entry(
2417         __field(int, len)
2418         __string(name, name)
2419         __field(unsigned long, pgen)
2420         __field(unsigned long, gen)
2421     ),
2422     TP_fast_assign(
2423         __entry->len = len;
2424         __assign_str(name, name);
2425         __entry->pgen = pgen;
2426         __entry->gen = gen;
2427     ),
2428     TP_printk("%.*s %lu %lu", __entry->len, __get_str(name),
2429           __entry->pgen, __entry->gen)
2430 );
2431 
2432 DEFINE_OCFS2_ULL_EVENT(ocfs2_dentry_revalidate_delete);
2433 
2434 DEFINE_OCFS2_ULL_INT_EVENT(ocfs2_dentry_revalidate_orphaned);
2435 
2436 DEFINE_OCFS2_ULL_EVENT(ocfs2_dentry_revalidate_nofsdata);
2437 
2438 DEFINE_OCFS2_INT_EVENT(ocfs2_dentry_revalidate_ret);
2439 
2440 TRACE_EVENT(ocfs2_find_local_alias,
2441     TP_PROTO(int len, const char *name),
2442     TP_ARGS(len, name),
2443     TP_STRUCT__entry(
2444         __field(int, len)
2445         __string(name, name)
2446     ),
2447     TP_fast_assign(
2448         __entry->len = len;
2449         __assign_str(name, name);
2450     ),
2451     TP_printk("%.*s", __entry->len, __get_str(name))
2452 );
2453 
2454 TRACE_EVENT(ocfs2_dentry_attach_lock,
2455     TP_PROTO(int len, const char *name,
2456          unsigned long long parent, void *fsdata),
2457     TP_ARGS(len, name, parent, fsdata),
2458     TP_STRUCT__entry(
2459         __field(int, len)
2460         __string(name, name)
2461         __field(unsigned long long, parent)
2462         __field(void *, fsdata)
2463     ),
2464     TP_fast_assign(
2465         __entry->len = len;
2466         __assign_str(name, name);
2467         __entry->parent = parent;
2468         __entry->fsdata = fsdata;
2469     ),
2470     TP_printk("%.*s %llu %p", __entry->len, __get_str(name),
2471           __entry->parent, __entry->fsdata)
2472 );
2473 
2474 TRACE_EVENT(ocfs2_dentry_attach_lock_found,
2475     TP_PROTO(const char *name, unsigned long long parent,
2476          unsigned long long ino),
2477     TP_ARGS(name, parent, ino),
2478     TP_STRUCT__entry(
2479         __string(name, name)
2480         __field(unsigned long long, parent)
2481         __field(unsigned long long, ino)
2482     ),
2483     TP_fast_assign(
2484         __assign_str(name, name);
2485         __entry->parent = parent;
2486         __entry->ino = ino;
2487     ),
2488     TP_printk("%s %llu %llu", __get_str(name), __entry->parent, __entry->ino)
2489 );
2490 /* End of trace events for fs/ocfs2/dcache.c. */
2491 
2492 /* Trace events for fs/ocfs2/export.c. */
2493 
2494 TRACE_EVENT(ocfs2_get_dentry_begin,
2495     TP_PROTO(void *sb, void *handle, unsigned long long blkno),
2496     TP_ARGS(sb, handle, blkno),
2497     TP_STRUCT__entry(
2498         __field(void *, sb)
2499         __field(void *, handle)
2500         __field(unsigned long long, blkno)
2501     ),
2502     TP_fast_assign(
2503         __entry->sb = sb;
2504         __entry->handle = handle;
2505         __entry->blkno = blkno;
2506     ),
2507     TP_printk("%p %p %llu", __entry->sb, __entry->handle, __entry->blkno)
2508 );
2509 
2510 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_get_dentry_test_bit);
2511 
2512 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_get_dentry_stale);
2513 
2514 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_get_dentry_generation);
2515 
2516 DEFINE_OCFS2_POINTER_EVENT(ocfs2_get_dentry_end);
2517 
2518 TRACE_EVENT(ocfs2_get_parent,
2519     TP_PROTO(void *child, int len, const char *name,
2520          unsigned long long ino),
2521     TP_ARGS(child, len, name, ino),
2522     TP_STRUCT__entry(
2523         __field(void *, child)
2524         __field(int, len)
2525         __string(name, name)
2526         __field(unsigned long long, ino)
2527     ),
2528     TP_fast_assign(
2529         __entry->child = child;
2530         __entry->len = len;
2531         __assign_str(name, name);
2532         __entry->ino = ino;
2533     ),
2534     TP_printk("%p %.*s %llu", __entry->child, __entry->len,
2535           __get_str(name), __entry->ino)
2536 );
2537 
2538 DEFINE_OCFS2_POINTER_EVENT(ocfs2_get_parent_end);
2539 
2540 TRACE_EVENT(ocfs2_encode_fh_begin,
2541     TP_PROTO(void *dentry, int name_len, const char *name,
2542          void *fh, int len, int connectable),
2543     TP_ARGS(dentry, name_len, name, fh, len, connectable),
2544     TP_STRUCT__entry(
2545         __field(void *, dentry)
2546         __field(int, name_len)
2547         __string(name, name)
2548         __field(void *, fh)
2549         __field(int, len)
2550         __field(int, connectable)
2551     ),
2552     TP_fast_assign(
2553         __entry->dentry = dentry;
2554         __entry->name_len = name_len;
2555         __assign_str(name, name);
2556         __entry->fh = fh;
2557         __entry->len = len;
2558         __entry->connectable = connectable;
2559     ),
2560     TP_printk("%p %.*s %p %d %d", __entry->dentry, __entry->name_len,
2561           __get_str(name), __entry->fh, __entry->len,
2562           __entry->connectable)
2563 );
2564 
2565 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_encode_fh_self);
2566 
2567 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_encode_fh_parent);
2568 
2569 DEFINE_OCFS2_INT_EVENT(ocfs2_encode_fh_type);
2570 
2571 /* End of trace events for fs/ocfs2/export.c. */
2572 
2573 /* Trace events for fs/ocfs2/journal.c. */
2574 
2575 DEFINE_OCFS2_UINT_EVENT(ocfs2_commit_cache_begin);
2576 
2577 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_commit_cache_end);
2578 
2579 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_extend_trans);
2580 
2581 DEFINE_OCFS2_INT_EVENT(ocfs2_extend_trans_restart);
2582 
2583 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_allocate_extend_trans);
2584 
2585 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_journal_access);
2586 
2587 DEFINE_OCFS2_ULL_EVENT(ocfs2_journal_dirty);
2588 
2589 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_journal_init);
2590 
2591 DEFINE_OCFS2_UINT_EVENT(ocfs2_journal_init_maxlen);
2592 
2593 DEFINE_OCFS2_INT_EVENT(ocfs2_journal_shutdown);
2594 
2595 DEFINE_OCFS2_POINTER_EVENT(ocfs2_journal_shutdown_wait);
2596 
2597 DEFINE_OCFS2_ULL_EVENT(ocfs2_complete_recovery);
2598 
2599 DEFINE_OCFS2_INT_EVENT(ocfs2_complete_recovery_end);
2600 
2601 TRACE_EVENT(ocfs2_complete_recovery_slot,
2602     TP_PROTO(int slot, unsigned long long la_ino,
2603          unsigned long long tl_ino, void *qrec),
2604     TP_ARGS(slot, la_ino, tl_ino, qrec),
2605     TP_STRUCT__entry(
2606         __field(int, slot)
2607         __field(unsigned long long, la_ino)
2608         __field(unsigned long long, tl_ino)
2609         __field(void *, qrec)
2610     ),
2611     TP_fast_assign(
2612         __entry->slot = slot;
2613         __entry->la_ino = la_ino;
2614         __entry->tl_ino = tl_ino;
2615         __entry->qrec = qrec;
2616     ),
2617     TP_printk("%d %llu %llu %p", __entry->slot, __entry->la_ino,
2618           __entry->tl_ino, __entry->qrec)
2619 );
2620 
2621 DEFINE_OCFS2_INT_INT_EVENT(ocfs2_recovery_thread_node);
2622 
2623 DEFINE_OCFS2_INT_EVENT(ocfs2_recovery_thread_end);
2624 
2625 TRACE_EVENT(ocfs2_recovery_thread,
2626     TP_PROTO(int node_num, int osb_node_num, int disable,
2627          void *recovery_thread, int map_set),
2628     TP_ARGS(node_num, osb_node_num, disable, recovery_thread, map_set),
2629     TP_STRUCT__entry(
2630         __field(int, node_num)
2631         __field(int, osb_node_num)
2632         __field(int,disable)
2633         __field(void *, recovery_thread)
2634         __field(int,map_set)
2635     ),
2636     TP_fast_assign(
2637         __entry->node_num = node_num;
2638         __entry->osb_node_num = osb_node_num;
2639         __entry->disable = disable;
2640         __entry->recovery_thread = recovery_thread;
2641         __entry->map_set = map_set;
2642     ),
2643     TP_printk("%d %d %d %p %d", __entry->node_num,
2644            __entry->osb_node_num, __entry->disable,
2645            __entry->recovery_thread, __entry->map_set)
2646 );
2647 
2648 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_replay_journal_recovered);
2649 
2650 DEFINE_OCFS2_INT_EVENT(ocfs2_replay_journal_lock_err);
2651 
2652 DEFINE_OCFS2_INT_EVENT(ocfs2_replay_journal_skip);
2653 
2654 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_recover_node);
2655 
2656 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_recover_node_skip);
2657 
2658 DEFINE_OCFS2_UINT_UINT_EVENT(ocfs2_mark_dead_nodes);
2659 
2660 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_queue_orphan_scan_begin);
2661 
2662 DEFINE_OCFS2_UINT_UINT_UINT_EVENT(ocfs2_queue_orphan_scan_end);
2663 
2664 DEFINE_OCFS2_ULL_EVENT(ocfs2_orphan_filldir);
2665 
2666 DEFINE_OCFS2_INT_EVENT(ocfs2_recover_orphans);
2667 
2668 DEFINE_OCFS2_ULL_EVENT(ocfs2_recover_orphans_iput);
2669 
2670 DEFINE_OCFS2_INT_EVENT(ocfs2_wait_on_mount);
2671 
2672 /* End of trace events for fs/ocfs2/journal.c. */
2673 
2674 /* Trace events for fs/ocfs2/buffer_head_io.c. */
2675 
2676 DEFINE_OCFS2_ULL_UINT_EVENT(ocfs2_read_blocks_sync);
2677 
2678 DEFINE_OCFS2_ULL_EVENT(ocfs2_read_blocks_sync_jbd);
2679 
2680 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_read_blocks_from_disk);
2681 
2682 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_bh);
2683 
2684 DEFINE_OCFS2_ULL_INT_INT_INT_EVENT(ocfs2_read_blocks_end);
2685 
2686 TRACE_EVENT(ocfs2_write_block,
2687     TP_PROTO(unsigned long long block, void *ci),
2688     TP_ARGS(block, ci),
2689     TP_STRUCT__entry(
2690         __field(unsigned long long, block)
2691         __field(void *, ci)
2692     ),
2693     TP_fast_assign(
2694         __entry->block = block;
2695         __entry->ci = ci;
2696     ),
2697     TP_printk("%llu %p", __entry->block, __entry->ci)
2698 );
2699 
2700 TRACE_EVENT(ocfs2_read_blocks_begin,
2701     TP_PROTO(void *ci, unsigned long long block,
2702          unsigned int nr, int flags),
2703     TP_ARGS(ci, block, nr, flags),
2704     TP_STRUCT__entry(
2705         __field(void *, ci)
2706         __field(unsigned long long, block)
2707         __field(unsigned int, nr)
2708         __field(int, flags)
2709     ),
2710     TP_fast_assign(
2711         __entry->ci = ci;
2712         __entry->block = block;
2713         __entry->nr = nr;
2714         __entry->flags = flags;
2715     ),
2716     TP_printk("%p %llu %u %d", __entry->ci, __entry->block,
2717           __entry->nr, __entry->flags)
2718 );
2719 
2720 /* End of trace events for fs/ocfs2/buffer_head_io.c. */
2721 
2722 /* Trace events for fs/ocfs2/uptodate.c. */
2723 
2724 DEFINE_OCFS2_ULL_EVENT(ocfs2_purge_copied_metadata_tree);
2725 
2726 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_metadata_cache_purge);
2727 
2728 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_buffer_cached_begin);
2729 
2730 TRACE_EVENT(ocfs2_buffer_cached_end,
2731     TP_PROTO(int index, void *item),
2732     TP_ARGS(index, item),
2733     TP_STRUCT__entry(
2734         __field(int, index)
2735         __field(void *, item)
2736     ),
2737     TP_fast_assign(
2738         __entry->index = index;
2739         __entry->item = item;
2740     ),
2741     TP_printk("%d %p", __entry->index, __entry->item)
2742 );
2743 
2744 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_append_cache_array);
2745 
2746 DEFINE_OCFS2_ULL_ULL_UINT_EVENT(ocfs2_insert_cache_tree);
2747 
2748 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_expand_cache);
2749 
2750 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_set_buffer_uptodate);
2751 
2752 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_set_buffer_uptodate_begin);
2753 
2754 DEFINE_OCFS2_ULL_UINT_UINT_EVENT(ocfs2_remove_metadata_array);
2755 
2756 DEFINE_OCFS2_ULL_ULL_EVENT(ocfs2_remove_metadata_tree);
2757 
2758 DEFINE_OCFS2_ULL_ULL_UINT_UINT_EVENT(ocfs2_remove_block_from_cache);
2759 
2760 /* End of trace events for fs/ocfs2/uptodate.c. */
2761 #endif /* _TRACE_OCFS2_H */
2762 
2763 /* This part must be outside protection */
2764 #undef TRACE_INCLUDE_PATH
2765 #define TRACE_INCLUDE_PATH .
2766 #define TRACE_INCLUDE_FILE ocfs2_trace
2767 #include <trace/define_trace.h>