diff options
-rw-r--r-- | fs/xfs/libxfs/xfs_types.h | 4 | ||||
-rw-r--r-- | fs/xfs/scrub/trace.h | 103 |
2 files changed, 79 insertions, 28 deletions
diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h index 75dfa974172b..8f02855a019a 100644 --- a/fs/xfs/libxfs/xfs_types.h +++ b/fs/xfs/libxfs/xfs_types.h | |||
@@ -114,8 +114,8 @@ typedef enum { | |||
114 | { XFS_LOOKUP_GEi, "ge" } | 114 | { XFS_LOOKUP_GEi, "ge" } |
115 | 115 | ||
116 | /* | 116 | /* |
117 | * This enum is used in string mapping in xfs_trace.h; please keep the | 117 | * This enum is used in string mapping in xfs_trace.h and scrub/trace.h; |
118 | * TRACE_DEFINE_ENUMs for it up to date. | 118 | * please keep the TRACE_DEFINE_ENUMs for it up to date. |
119 | */ | 119 | */ |
120 | typedef enum { | 120 | typedef enum { |
121 | XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_RMAPi, XFS_BTNUM_BMAPi, | 121 | XFS_BTNUM_BNOi, XFS_BTNUM_CNTi, XFS_BTNUM_RMAPi, XFS_BTNUM_BMAPi, |
diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index 2f23b10cdc71..8344b14031ef 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h | |||
@@ -26,6 +26,57 @@ TRACE_DEFINE_ENUM(XFS_BTNUM_FINOi); | |||
26 | TRACE_DEFINE_ENUM(XFS_BTNUM_RMAPi); | 26 | TRACE_DEFINE_ENUM(XFS_BTNUM_RMAPi); |
27 | TRACE_DEFINE_ENUM(XFS_BTNUM_REFCi); | 27 | TRACE_DEFINE_ENUM(XFS_BTNUM_REFCi); |
28 | 28 | ||
29 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_PROBE); | ||
30 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_SB); | ||
31 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_AGF); | ||
32 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_AGFL); | ||
33 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_AGI); | ||
34 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_BNOBT); | ||
35 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_CNTBT); | ||
36 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_INOBT); | ||
37 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_FINOBT); | ||
38 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_RMAPBT); | ||
39 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_REFCNTBT); | ||
40 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_INODE); | ||
41 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_BMBTD); | ||
42 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_BMBTA); | ||
43 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_BMBTC); | ||
44 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_DIR); | ||
45 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_XATTR); | ||
46 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_SYMLINK); | ||
47 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_PARENT); | ||
48 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_RTBITMAP); | ||
49 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_RTSUM); | ||
50 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_UQUOTA); | ||
51 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_GQUOTA); | ||
52 | TRACE_DEFINE_ENUM(XFS_SCRUB_TYPE_PQUOTA); | ||
53 | |||
54 | #define XFS_SCRUB_TYPE_STRINGS \ | ||
55 | { XFS_SCRUB_TYPE_PROBE, "probe" }, \ | ||
56 | { XFS_SCRUB_TYPE_SB, "sb" }, \ | ||
57 | { XFS_SCRUB_TYPE_AGF, "agf" }, \ | ||
58 | { XFS_SCRUB_TYPE_AGFL, "agfl" }, \ | ||
59 | { XFS_SCRUB_TYPE_AGI, "agi" }, \ | ||
60 | { XFS_SCRUB_TYPE_BNOBT, "bnobt" }, \ | ||
61 | { XFS_SCRUB_TYPE_CNTBT, "cntbt" }, \ | ||
62 | { XFS_SCRUB_TYPE_INOBT, "inobt" }, \ | ||
63 | { XFS_SCRUB_TYPE_FINOBT, "finobt" }, \ | ||
64 | { XFS_SCRUB_TYPE_RMAPBT, "rmapbt" }, \ | ||
65 | { XFS_SCRUB_TYPE_REFCNTBT, "refcountbt" }, \ | ||
66 | { XFS_SCRUB_TYPE_INODE, "inode" }, \ | ||
67 | { XFS_SCRUB_TYPE_BMBTD, "bmapbtd" }, \ | ||
68 | { XFS_SCRUB_TYPE_BMBTA, "bmapbta" }, \ | ||
69 | { XFS_SCRUB_TYPE_BMBTC, "bmapbtc" }, \ | ||
70 | { XFS_SCRUB_TYPE_DIR, "directory" }, \ | ||
71 | { XFS_SCRUB_TYPE_XATTR, "xattr" }, \ | ||
72 | { XFS_SCRUB_TYPE_SYMLINK, "symlink" }, \ | ||
73 | { XFS_SCRUB_TYPE_PARENT, "parent" }, \ | ||
74 | { XFS_SCRUB_TYPE_RTBITMAP, "rtbitmap" }, \ | ||
75 | { XFS_SCRUB_TYPE_RTSUM, "rtsummary" }, \ | ||
76 | { XFS_SCRUB_TYPE_UQUOTA, "usrquota" }, \ | ||
77 | { XFS_SCRUB_TYPE_GQUOTA, "grpquota" }, \ | ||
78 | { XFS_SCRUB_TYPE_PQUOTA, "prjquota" } | ||
79 | |||
29 | DECLARE_EVENT_CLASS(xchk_class, | 80 | DECLARE_EVENT_CLASS(xchk_class, |
30 | TP_PROTO(struct xfs_inode *ip, struct xfs_scrub_metadata *sm, | 81 | TP_PROTO(struct xfs_inode *ip, struct xfs_scrub_metadata *sm, |
31 | int error), | 82 | int error), |
@@ -50,10 +101,10 @@ DECLARE_EVENT_CLASS(xchk_class, | |||
50 | __entry->flags = sm->sm_flags; | 101 | __entry->flags = sm->sm_flags; |
51 | __entry->error = error; | 102 | __entry->error = error; |
52 | ), | 103 | ), |
53 | TP_printk("dev %d:%d ino 0x%llx type %u agno %u inum %llu gen %u flags 0x%x error %d", | 104 | TP_printk("dev %d:%d ino 0x%llx type %s agno %u inum %llu gen %u flags 0x%x error %d", |
54 | MAJOR(__entry->dev), MINOR(__entry->dev), | 105 | MAJOR(__entry->dev), MINOR(__entry->dev), |
55 | __entry->ino, | 106 | __entry->ino, |
56 | __entry->type, | 107 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
57 | __entry->agno, | 108 | __entry->agno, |
58 | __entry->inum, | 109 | __entry->inum, |
59 | __entry->gen, | 110 | __entry->gen, |
@@ -92,9 +143,9 @@ TRACE_EVENT(xchk_op_error, | |||
92 | __entry->error = error; | 143 | __entry->error = error; |
93 | __entry->ret_ip = ret_ip; | 144 | __entry->ret_ip = ret_ip; |
94 | ), | 145 | ), |
95 | TP_printk("dev %d:%d type %u agno %u agbno %u error %d ret_ip %pS", | 146 | TP_printk("dev %d:%d type %s agno %u agbno %u error %d ret_ip %pS", |
96 | MAJOR(__entry->dev), MINOR(__entry->dev), | 147 | MAJOR(__entry->dev), MINOR(__entry->dev), |
97 | __entry->type, | 148 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
98 | __entry->agno, | 149 | __entry->agno, |
99 | __entry->bno, | 150 | __entry->bno, |
100 | __entry->error, | 151 | __entry->error, |
@@ -123,11 +174,11 @@ TRACE_EVENT(xchk_file_op_error, | |||
123 | __entry->error = error; | 174 | __entry->error = error; |
124 | __entry->ret_ip = ret_ip; | 175 | __entry->ret_ip = ret_ip; |
125 | ), | 176 | ), |
126 | TP_printk("dev %d:%d ino 0x%llx fork %d type %u offset %llu error %d ret_ip %pS", | 177 | TP_printk("dev %d:%d ino 0x%llx fork %d type %s offset %llu error %d ret_ip %pS", |
127 | MAJOR(__entry->dev), MINOR(__entry->dev), | 178 | MAJOR(__entry->dev), MINOR(__entry->dev), |
128 | __entry->ino, | 179 | __entry->ino, |
129 | __entry->whichfork, | 180 | __entry->whichfork, |
130 | __entry->type, | 181 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
131 | __entry->offset, | 182 | __entry->offset, |
132 | __entry->error, | 183 | __entry->error, |
133 | __entry->ret_ip) | 184 | __entry->ret_ip) |
@@ -158,9 +209,9 @@ DECLARE_EVENT_CLASS(xchk_block_error_class, | |||
158 | __entry->bno = bno; | 209 | __entry->bno = bno; |
159 | __entry->ret_ip = ret_ip; | 210 | __entry->ret_ip = ret_ip; |
160 | ), | 211 | ), |
161 | TP_printk("dev %d:%d type %u agno %u agbno %u ret_ip %pS", | 212 | TP_printk("dev %d:%d type %s agno %u agbno %u ret_ip %pS", |
162 | MAJOR(__entry->dev), MINOR(__entry->dev), | 213 | MAJOR(__entry->dev), MINOR(__entry->dev), |
163 | __entry->type, | 214 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
164 | __entry->agno, | 215 | __entry->agno, |
165 | __entry->bno, | 216 | __entry->bno, |
166 | __entry->ret_ip) | 217 | __entry->ret_ip) |
@@ -190,10 +241,10 @@ DECLARE_EVENT_CLASS(xchk_ino_error_class, | |||
190 | __entry->type = sc->sm->sm_type; | 241 | __entry->type = sc->sm->sm_type; |
191 | __entry->ret_ip = ret_ip; | 242 | __entry->ret_ip = ret_ip; |
192 | ), | 243 | ), |
193 | TP_printk("dev %d:%d ino 0x%llx type %u ret_ip %pS", | 244 | TP_printk("dev %d:%d ino 0x%llx type %s ret_ip %pS", |
194 | MAJOR(__entry->dev), MINOR(__entry->dev), | 245 | MAJOR(__entry->dev), MINOR(__entry->dev), |
195 | __entry->ino, | 246 | __entry->ino, |
196 | __entry->type, | 247 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
197 | __entry->ret_ip) | 248 | __entry->ret_ip) |
198 | ) | 249 | ) |
199 | 250 | ||
@@ -227,11 +278,11 @@ DECLARE_EVENT_CLASS(xchk_fblock_error_class, | |||
227 | __entry->offset = offset; | 278 | __entry->offset = offset; |
228 | __entry->ret_ip = ret_ip; | 279 | __entry->ret_ip = ret_ip; |
229 | ), | 280 | ), |
230 | TP_printk("dev %d:%d ino 0x%llx fork %d type %u offset %llu ret_ip %pS", | 281 | TP_printk("dev %d:%d ino 0x%llx fork %d type %s offset %llu ret_ip %pS", |
231 | MAJOR(__entry->dev), MINOR(__entry->dev), | 282 | MAJOR(__entry->dev), MINOR(__entry->dev), |
232 | __entry->ino, | 283 | __entry->ino, |
233 | __entry->whichfork, | 284 | __entry->whichfork, |
234 | __entry->type, | 285 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
235 | __entry->offset, | 286 | __entry->offset, |
236 | __entry->ret_ip) | 287 | __entry->ret_ip) |
237 | ); | 288 | ); |
@@ -258,9 +309,9 @@ TRACE_EVENT(xchk_incomplete, | |||
258 | __entry->type = sc->sm->sm_type; | 309 | __entry->type = sc->sm->sm_type; |
259 | __entry->ret_ip = ret_ip; | 310 | __entry->ret_ip = ret_ip; |
260 | ), | 311 | ), |
261 | TP_printk("dev %d:%d type %u ret_ip %pS", | 312 | TP_printk("dev %d:%d type %s ret_ip %pS", |
262 | MAJOR(__entry->dev), MINOR(__entry->dev), | 313 | MAJOR(__entry->dev), MINOR(__entry->dev), |
263 | __entry->type, | 314 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
264 | __entry->ret_ip) | 315 | __entry->ret_ip) |
265 | ); | 316 | ); |
266 | 317 | ||
@@ -292,9 +343,9 @@ TRACE_EVENT(xchk_btree_op_error, | |||
292 | __entry->error = error; | 343 | __entry->error = error; |
293 | __entry->ret_ip = ret_ip; | 344 | __entry->ret_ip = ret_ip; |
294 | ), | 345 | ), |
295 | TP_printk("dev %d:%d type %u btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", | 346 | TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", |
296 | MAJOR(__entry->dev), MINOR(__entry->dev), | 347 | MAJOR(__entry->dev), MINOR(__entry->dev), |
297 | __entry->type, | 348 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
298 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), | 349 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), |
299 | __entry->level, | 350 | __entry->level, |
300 | __entry->ptr, | 351 | __entry->ptr, |
@@ -335,11 +386,11 @@ TRACE_EVENT(xchk_ifork_btree_op_error, | |||
335 | __entry->error = error; | 386 | __entry->error = error; |
336 | __entry->ret_ip = ret_ip; | 387 | __entry->ret_ip = ret_ip; |
337 | ), | 388 | ), |
338 | TP_printk("dev %d:%d ino 0x%llx fork %d type %u btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", | 389 | TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u error %d ret_ip %pS", |
339 | MAJOR(__entry->dev), MINOR(__entry->dev), | 390 | MAJOR(__entry->dev), MINOR(__entry->dev), |
340 | __entry->ino, | 391 | __entry->ino, |
341 | __entry->whichfork, | 392 | __entry->whichfork, |
342 | __entry->type, | 393 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
343 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), | 394 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), |
344 | __entry->level, | 395 | __entry->level, |
345 | __entry->ptr, | 396 | __entry->ptr, |
@@ -374,9 +425,9 @@ TRACE_EVENT(xchk_btree_error, | |||
374 | __entry->ptr = cur->bc_ptrs[level]; | 425 | __entry->ptr = cur->bc_ptrs[level]; |
375 | __entry->ret_ip = ret_ip; | 426 | __entry->ret_ip = ret_ip; |
376 | ), | 427 | ), |
377 | TP_printk("dev %d:%d type %u btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", | 428 | TP_printk("dev %d:%d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", |
378 | MAJOR(__entry->dev), MINOR(__entry->dev), | 429 | MAJOR(__entry->dev), MINOR(__entry->dev), |
379 | __entry->type, | 430 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
380 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), | 431 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), |
381 | __entry->level, | 432 | __entry->level, |
382 | __entry->ptr, | 433 | __entry->ptr, |
@@ -414,11 +465,11 @@ TRACE_EVENT(xchk_ifork_btree_error, | |||
414 | __entry->ptr = cur->bc_ptrs[level]; | 465 | __entry->ptr = cur->bc_ptrs[level]; |
415 | __entry->ret_ip = ret_ip; | 466 | __entry->ret_ip = ret_ip; |
416 | ), | 467 | ), |
417 | TP_printk("dev %d:%d ino 0x%llx fork %d type %u btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", | 468 | TP_printk("dev %d:%d ino 0x%llx fork %d type %s btree %s level %d ptr %d agno %u agbno %u ret_ip %pS", |
418 | MAJOR(__entry->dev), MINOR(__entry->dev), | 469 | MAJOR(__entry->dev), MINOR(__entry->dev), |
419 | __entry->ino, | 470 | __entry->ino, |
420 | __entry->whichfork, | 471 | __entry->whichfork, |
421 | __entry->type, | 472 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
422 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), | 473 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), |
423 | __entry->level, | 474 | __entry->level, |
424 | __entry->ptr, | 475 | __entry->ptr, |
@@ -453,9 +504,9 @@ DECLARE_EVENT_CLASS(xchk_sbtree_class, | |||
453 | __entry->nlevels = cur->bc_nlevels; | 504 | __entry->nlevels = cur->bc_nlevels; |
454 | __entry->ptr = cur->bc_ptrs[level]; | 505 | __entry->ptr = cur->bc_ptrs[level]; |
455 | ), | 506 | ), |
456 | TP_printk("dev %d:%d type %u btree %s agno %u agbno %u level %d nlevels %d ptr %d", | 507 | TP_printk("dev %d:%d type %s btree %s agno %u agbno %u level %d nlevels %d ptr %d", |
457 | MAJOR(__entry->dev), MINOR(__entry->dev), | 508 | MAJOR(__entry->dev), MINOR(__entry->dev), |
458 | __entry->type, | 509 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
459 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), | 510 | __print_symbolic(__entry->btnum, XFS_BTNUM_STRINGS), |
460 | __entry->agno, | 511 | __entry->agno, |
461 | __entry->bno, | 512 | __entry->bno, |
@@ -487,9 +538,9 @@ TRACE_EVENT(xchk_xref_error, | |||
487 | __entry->error = error; | 538 | __entry->error = error; |
488 | __entry->ret_ip = ret_ip; | 539 | __entry->ret_ip = ret_ip; |
489 | ), | 540 | ), |
490 | TP_printk("dev %d:%d type %u xref error %d ret_ip %pS", | 541 | TP_printk("dev %d:%d type %s xref error %d ret_ip %pS", |
491 | MAJOR(__entry->dev), MINOR(__entry->dev), | 542 | MAJOR(__entry->dev), MINOR(__entry->dev), |
492 | __entry->type, | 543 | __print_symbolic(__entry->type, XFS_SCRUB_TYPE_STRINGS), |
493 | __entry->error, | 544 | __entry->error, |
494 | __entry->ret_ip) | 545 | __entry->ret_ip) |
495 | ); | 546 | ); |