diff options
Diffstat (limited to 'fs/xfs')
| -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 | ); |
