Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

xfs: shorten struct xfs_scrub_context to struct xfs_scrub

Shorten the name of the online fsck context structure. Whitespace
damage will be fixed by a subsequent patch. There are no functional
changes.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>

+294 -294
+16 -16
fs/xfs/scrub/agheader.c
··· 29 29 /* Cross-reference with the other btrees. */ 30 30 STATIC void 31 31 xchk_superblock_xref( 32 - struct xfs_scrub_context *sc, 32 + struct xfs_scrub *sc, 33 33 struct xfs_buf *bp) 34 34 { 35 35 struct xfs_owner_info oinfo; ··· 66 66 */ 67 67 int 68 68 xchk_superblock( 69 - struct xfs_scrub_context *sc) 69 + struct xfs_scrub *sc) 70 70 { 71 71 struct xfs_mount *mp = sc->mp; 72 72 struct xfs_buf *bp; ··· 365 365 /* Check agf_freeblks */ 366 366 static inline void 367 367 xchk_agf_xref_freeblks( 368 - struct xfs_scrub_context *sc) 368 + struct xfs_scrub *sc) 369 369 { 370 370 struct xfs_agf *agf = XFS_BUF_TO_AGF(sc->sa.agf_bp); 371 371 xfs_extlen_t blocks = 0; ··· 385 385 /* Cross reference the AGF with the cntbt (freespace by length btree) */ 386 386 static inline void 387 387 xchk_agf_xref_cntbt( 388 - struct xfs_scrub_context *sc) 388 + struct xfs_scrub *sc) 389 389 { 390 390 struct xfs_agf *agf = XFS_BUF_TO_AGF(sc->sa.agf_bp); 391 391 xfs_agblock_t agbno; ··· 417 417 /* Check the btree block counts in the AGF against the btrees. */ 418 418 STATIC void 419 419 xchk_agf_xref_btreeblks( 420 - struct xfs_scrub_context *sc) 420 + struct xfs_scrub *sc) 421 421 { 422 422 struct xfs_agf *agf = XFS_BUF_TO_AGF(sc->sa.agf_bp); 423 423 struct xfs_mount *mp = sc->mp; ··· 463 463 /* Check agf_refcount_blocks against tree size */ 464 464 static inline void 465 465 xchk_agf_xref_refcblks( 466 - struct xfs_scrub_context *sc) 466 + struct xfs_scrub *sc) 467 467 { 468 468 struct xfs_agf *agf = XFS_BUF_TO_AGF(sc->sa.agf_bp); 469 469 xfs_agblock_t blocks; ··· 482 482 /* Cross-reference with the other btrees. */ 483 483 STATIC void 484 484 xchk_agf_xref( 485 - struct xfs_scrub_context *sc) 485 + struct xfs_scrub *sc) 486 486 { 487 487 struct xfs_owner_info oinfo; 488 488 struct xfs_mount *mp = sc->mp; ··· 514 514 /* Scrub the AGF. */ 515 515 int 516 516 xchk_agf( 517 - struct xfs_scrub_context *sc) 517 + struct xfs_scrub *sc) 518 518 { 519 519 struct xfs_mount *mp = sc->mp; 520 520 struct xfs_agf *agf; ··· 602 602 unsigned int sz_entries; 603 603 unsigned int nr_entries; 604 604 xfs_agblock_t *entries; 605 - struct xfs_scrub_context *sc; 605 + struct xfs_scrub *sc; 606 606 }; 607 607 608 608 /* Cross-reference with the other btrees. */ 609 609 STATIC void 610 610 xchk_agfl_block_xref( 611 - struct xfs_scrub_context *sc, 611 + struct xfs_scrub *sc, 612 612 xfs_agblock_t agbno, 613 613 struct xfs_owner_info *oinfo) 614 614 { ··· 629 629 void *priv) 630 630 { 631 631 struct xchk_agfl_info *sai = priv; 632 - struct xfs_scrub_context *sc = sai->sc; 632 + struct xfs_scrub *sc = sai->sc; 633 633 xfs_agnumber_t agno = sc->sa.agno; 634 634 635 635 if (xfs_verify_agbno(mp, agno, agbno) && ··· 660 660 /* Cross-reference with the other btrees. */ 661 661 STATIC void 662 662 xchk_agfl_xref( 663 - struct xfs_scrub_context *sc) 663 + struct xfs_scrub *sc) 664 664 { 665 665 struct xfs_owner_info oinfo; 666 666 struct xfs_mount *mp = sc->mp; ··· 691 691 /* Scrub the AGFL. */ 692 692 int 693 693 xchk_agfl( 694 - struct xfs_scrub_context *sc) 694 + struct xfs_scrub *sc) 695 695 { 696 696 struct xchk_agfl_info sai; 697 697 struct xfs_agf *agf; ··· 768 768 /* Check agi_count/agi_freecount */ 769 769 static inline void 770 770 xchk_agi_xref_icounts( 771 - struct xfs_scrub_context *sc) 771 + struct xfs_scrub *sc) 772 772 { 773 773 struct xfs_agi *agi = XFS_BUF_TO_AGI(sc->sa.agi_bp); 774 774 xfs_agino_t icount; ··· 789 789 /* Cross-reference with the other btrees. */ 790 790 STATIC void 791 791 xchk_agi_xref( 792 - struct xfs_scrub_context *sc) 792 + struct xfs_scrub *sc) 793 793 { 794 794 struct xfs_owner_info oinfo; 795 795 struct xfs_mount *mp = sc->mp; ··· 818 818 /* Scrub the AGI. */ 819 819 int 820 820 xchk_agi( 821 - struct xfs_scrub_context *sc) 821 + struct xfs_scrub *sc) 822 822 { 823 823 struct xfs_mount *mp = sc->mp; 824 824 struct xfs_agi *agi;
+1 -1
fs/xfs/scrub/agheader_repair.c
··· 29 29 /* Repair the superblock. */ 30 30 int 31 31 xrep_superblock( 32 - struct xfs_scrub_context *sc) 32 + struct xfs_scrub *sc) 33 33 { 34 34 struct xfs_mount *mp = sc->mp; 35 35 struct xfs_buf *bp;
+7 -7
fs/xfs/scrub/alloc.c
··· 29 29 */ 30 30 int 31 31 xchk_setup_ag_allocbt( 32 - struct xfs_scrub_context *sc, 32 + struct xfs_scrub *sc, 33 33 struct xfs_inode *ip) 34 34 { 35 35 return xchk_setup_ag_btree(sc, ip, false); ··· 42 42 */ 43 43 STATIC void 44 44 xchk_allocbt_xref_other( 45 - struct xfs_scrub_context *sc, 45 + struct xfs_scrub *sc, 46 46 xfs_agblock_t agbno, 47 47 xfs_extlen_t len) 48 48 { ··· 82 82 /* Cross-reference with the other btrees. */ 83 83 STATIC void 84 84 xchk_allocbt_xref( 85 - struct xfs_scrub_context *sc, 85 + struct xfs_scrub *sc, 86 86 xfs_agblock_t agbno, 87 87 xfs_extlen_t len) 88 88 { ··· 123 123 /* Scrub the freespace btrees for some AG. */ 124 124 STATIC int 125 125 xchk_allocbt( 126 - struct xfs_scrub_context *sc, 126 + struct xfs_scrub *sc, 127 127 xfs_btnum_t which) 128 128 { 129 129 struct xfs_owner_info oinfo; ··· 136 136 137 137 int 138 138 xchk_bnobt( 139 - struct xfs_scrub_context *sc) 139 + struct xfs_scrub *sc) 140 140 { 141 141 return xchk_allocbt(sc, XFS_BTNUM_BNO); 142 142 } 143 143 144 144 int 145 145 xchk_cntbt( 146 - struct xfs_scrub_context *sc) 146 + struct xfs_scrub *sc) 147 147 { 148 148 return xchk_allocbt(sc, XFS_BTNUM_CNT); 149 149 } ··· 151 151 /* xref check that the extent is not free */ 152 152 void 153 153 xchk_xref_is_used_space( 154 - struct xfs_scrub_context *sc, 154 + struct xfs_scrub *sc, 155 155 xfs_agblock_t agbno, 156 156 xfs_extlen_t len) 157 157 {
+5 -5
fs/xfs/scrub/attr.c
··· 33 33 /* Set us up to scrub an inode's extended attributes. */ 34 34 int 35 35 xchk_setup_xattr( 36 - struct xfs_scrub_context *sc, 36 + struct xfs_scrub *sc, 37 37 struct xfs_inode *ip) 38 38 { 39 39 size_t sz; ··· 57 57 58 58 struct xchk_xattr { 59 59 struct xfs_attr_list_context context; 60 - struct xfs_scrub_context *sc; 60 + struct xfs_scrub *sc; 61 61 }; 62 62 63 63 /* ··· 127 127 */ 128 128 STATIC bool 129 129 xchk_xattr_set_map( 130 - struct xfs_scrub_context *sc, 130 + struct xfs_scrub *sc, 131 131 unsigned long *map, 132 132 unsigned int start, 133 133 unsigned int len) ··· 155 155 */ 156 156 STATIC bool 157 157 xchk_xattr_check_freemap( 158 - struct xfs_scrub_context *sc, 158 + struct xfs_scrub *sc, 159 159 unsigned long *map, 160 160 struct xfs_attr3_icleaf_hdr *leafhdr) 161 161 { ··· 405 405 /* Scrub the extended attribute metadata. */ 406 406 int 407 407 xchk_xattr( 408 - struct xfs_scrub_context *sc) 408 + struct xfs_scrub *sc) 409 409 { 410 410 struct xchk_xattr sx; 411 411 struct attrlist_cursor_kern cursor = { 0 };
+11 -11
fs/xfs/scrub/bmap.c
··· 34 34 /* Set us up with an inode's bmap. */ 35 35 int 36 36 xchk_setup_inode_bmap( 37 - struct xfs_scrub_context *sc, 37 + struct xfs_scrub *sc, 38 38 struct xfs_inode *ip) 39 39 { 40 40 int error; ··· 79 79 */ 80 80 81 81 struct xchk_bmap_info { 82 - struct xfs_scrub_context *sc; 82 + struct xfs_scrub *sc; 83 83 xfs_fileoff_t lastoff; 84 84 bool is_rt; 85 85 bool is_shared; ··· 391 391 /* Scan the btree records. */ 392 392 STATIC int 393 393 xchk_bmap_btree( 394 - struct xfs_scrub_context *sc, 394 + struct xfs_scrub *sc, 395 395 int whichfork, 396 396 struct xchk_bmap_info *info) 397 397 { ··· 409 409 } 410 410 411 411 struct xchk_bmap_check_rmap_info { 412 - struct xfs_scrub_context *sc; 412 + struct xfs_scrub *sc; 413 413 int whichfork; 414 414 struct xfs_iext_cursor icur; 415 415 }; ··· 424 424 struct xfs_bmbt_irec irec; 425 425 struct xchk_bmap_check_rmap_info *sbcri = priv; 426 426 struct xfs_ifork *ifp; 427 - struct xfs_scrub_context *sc = sbcri->sc; 427 + struct xfs_scrub *sc = sbcri->sc; 428 428 bool have_map; 429 429 430 430 /* Is this even the right fork? */ ··· 488 488 /* Make sure each rmap has a corresponding bmbt entry. */ 489 489 STATIC int 490 490 xchk_bmap_check_ag_rmaps( 491 - struct xfs_scrub_context *sc, 491 + struct xfs_scrub *sc, 492 492 int whichfork, 493 493 xfs_agnumber_t agno) 494 494 { ··· 522 522 /* Make sure each rmap has a corresponding bmbt entry. */ 523 523 STATIC int 524 524 xchk_bmap_check_rmaps( 525 - struct xfs_scrub_context *sc, 525 + struct xfs_scrub *sc, 526 526 int whichfork) 527 527 { 528 528 loff_t size; ··· 579 579 */ 580 580 STATIC int 581 581 xchk_bmap( 582 - struct xfs_scrub_context *sc, 582 + struct xfs_scrub *sc, 583 583 int whichfork) 584 584 { 585 585 struct xfs_bmbt_irec irec; ··· 694 694 /* Scrub an inode's data fork. */ 695 695 int 696 696 xchk_bmap_data( 697 - struct xfs_scrub_context *sc) 697 + struct xfs_scrub *sc) 698 698 { 699 699 return xchk_bmap(sc, XFS_DATA_FORK); 700 700 } ··· 702 702 /* Scrub an inode's attr fork. */ 703 703 int 704 704 xchk_bmap_attr( 705 - struct xfs_scrub_context *sc) 705 + struct xfs_scrub *sc) 706 706 { 707 707 return xchk_bmap(sc, XFS_ATTR_FORK); 708 708 } ··· 710 710 /* Scrub an inode's CoW fork. */ 711 711 int 712 712 xchk_bmap_cow( 713 - struct xfs_scrub_context *sc) 713 + struct xfs_scrub *sc) 714 714 { 715 715 if (!xfs_is_reflink_inode(sc->ip)) 716 716 return -ENOENT;
+7 -7
fs/xfs/scrub/btree.c
··· 30 30 */ 31 31 static bool 32 32 __xchk_btree_process_error( 33 - struct xfs_scrub_context *sc, 33 + struct xfs_scrub *sc, 34 34 struct xfs_btree_cur *cur, 35 35 int level, 36 36 int *error, ··· 65 65 66 66 bool 67 67 xchk_btree_process_error( 68 - struct xfs_scrub_context *sc, 68 + struct xfs_scrub *sc, 69 69 struct xfs_btree_cur *cur, 70 70 int level, 71 71 int *error) ··· 76 76 77 77 bool 78 78 xchk_btree_xref_process_error( 79 - struct xfs_scrub_context *sc, 79 + struct xfs_scrub *sc, 80 80 struct xfs_btree_cur *cur, 81 81 int level, 82 82 int *error) ··· 88 88 /* Record btree block corruption. */ 89 89 static void 90 90 __xchk_btree_set_corrupt( 91 - struct xfs_scrub_context *sc, 91 + struct xfs_scrub *sc, 92 92 struct xfs_btree_cur *cur, 93 93 int level, 94 94 __u32 errflag, ··· 106 106 107 107 void 108 108 xchk_btree_set_corrupt( 109 - struct xfs_scrub_context *sc, 109 + struct xfs_scrub *sc, 110 110 struct xfs_btree_cur *cur, 111 111 int level) 112 112 { ··· 116 116 117 117 void 118 118 xchk_btree_xref_set_corrupt( 119 - struct xfs_scrub_context *sc, 119 + struct xfs_scrub *sc, 120 120 struct xfs_btree_cur *cur, 121 121 int level) 122 122 { ··· 583 583 */ 584 584 int 585 585 xchk_btree( 586 - struct xfs_scrub_context *sc, 586 + struct xfs_scrub *sc, 587 587 struct xfs_btree_cur *cur, 588 588 xchk_btree_rec_fn scrub_fn, 589 589 struct xfs_owner_info *oinfo,
+6 -6
fs/xfs/scrub/btree.h
··· 9 9 /* btree scrub */ 10 10 11 11 /* Check for btree operation errors. */ 12 - bool xchk_btree_process_error(struct xfs_scrub_context *sc, 12 + bool xchk_btree_process_error(struct xfs_scrub *sc, 13 13 struct xfs_btree_cur *cur, int level, int *error); 14 14 15 15 /* Check for btree xref operation errors. */ 16 - bool xchk_btree_xref_process_error(struct xfs_scrub_context *sc, 16 + bool xchk_btree_xref_process_error(struct xfs_scrub *sc, 17 17 struct xfs_btree_cur *cur, int level, 18 18 int *error); 19 19 20 20 /* Check for btree corruption. */ 21 - void xchk_btree_set_corrupt(struct xfs_scrub_context *sc, 21 + void xchk_btree_set_corrupt(struct xfs_scrub *sc, 22 22 struct xfs_btree_cur *cur, int level); 23 23 24 24 /* Check for btree xref discrepancies. */ 25 - void xchk_btree_xref_set_corrupt(struct xfs_scrub_context *sc, 25 + void xchk_btree_xref_set_corrupt(struct xfs_scrub *sc, 26 26 struct xfs_btree_cur *cur, int level); 27 27 28 28 struct xchk_btree; ··· 32 32 33 33 struct xchk_btree { 34 34 /* caller-provided scrub state */ 35 - struct xfs_scrub_context *sc; 35 + struct xfs_scrub *sc; 36 36 struct xfs_btree_cur *cur; 37 37 xchk_btree_rec_fn scrub_rec; 38 38 struct xfs_owner_info *oinfo; ··· 45 45 bool firstkey[XFS_BTREE_MAXLEVELS]; 46 46 struct list_head to_check; 47 47 }; 48 - int xchk_btree(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 48 + int xchk_btree(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 49 49 xchk_btree_rec_fn scrub_fn, 50 50 struct xfs_owner_info *oinfo, void *private); 51 51
+31 -31
fs/xfs/scrub/common.c
··· 69 69 /* Check for operational errors. */ 70 70 static bool 71 71 __xchk_process_error( 72 - struct xfs_scrub_context *sc, 72 + struct xfs_scrub *sc, 73 73 xfs_agnumber_t agno, 74 74 xfs_agblock_t bno, 75 75 int *error, ··· 99 99 100 100 bool 101 101 xchk_process_error( 102 - struct xfs_scrub_context *sc, 102 + struct xfs_scrub *sc, 103 103 xfs_agnumber_t agno, 104 104 xfs_agblock_t bno, 105 105 int *error) ··· 110 110 111 111 bool 112 112 xchk_xref_process_error( 113 - struct xfs_scrub_context *sc, 113 + struct xfs_scrub *sc, 114 114 xfs_agnumber_t agno, 115 115 xfs_agblock_t bno, 116 116 int *error) ··· 122 122 /* Check for operational errors for a file offset. */ 123 123 static bool 124 124 __xchk_fblock_process_error( 125 - struct xfs_scrub_context *sc, 125 + struct xfs_scrub *sc, 126 126 int whichfork, 127 127 xfs_fileoff_t offset, 128 128 int *error, ··· 152 152 153 153 bool 154 154 xchk_fblock_process_error( 155 - struct xfs_scrub_context *sc, 155 + struct xfs_scrub *sc, 156 156 int whichfork, 157 157 xfs_fileoff_t offset, 158 158 int *error) ··· 163 163 164 164 bool 165 165 xchk_fblock_xref_process_error( 166 - struct xfs_scrub_context *sc, 166 + struct xfs_scrub *sc, 167 167 int whichfork, 168 168 xfs_fileoff_t offset, 169 169 int *error) ··· 187 187 /* Record a block which could be optimized. */ 188 188 void 189 189 xchk_block_set_preen( 190 - struct xfs_scrub_context *sc, 190 + struct xfs_scrub *sc, 191 191 struct xfs_buf *bp) 192 192 { 193 193 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_PREEN; ··· 201 201 */ 202 202 void 203 203 xchk_ino_set_preen( 204 - struct xfs_scrub_context *sc, 204 + struct xfs_scrub *sc, 205 205 xfs_ino_t ino) 206 206 { 207 207 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_PREEN; ··· 211 211 /* Record a corrupt block. */ 212 212 void 213 213 xchk_block_set_corrupt( 214 - struct xfs_scrub_context *sc, 214 + struct xfs_scrub *sc, 215 215 struct xfs_buf *bp) 216 216 { 217 217 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; ··· 221 221 /* Record a corruption while cross-referencing. */ 222 222 void 223 223 xchk_block_xref_set_corrupt( 224 - struct xfs_scrub_context *sc, 224 + struct xfs_scrub *sc, 225 225 struct xfs_buf *bp) 226 226 { 227 227 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_XCORRUPT; ··· 235 235 */ 236 236 void 237 237 xchk_ino_set_corrupt( 238 - struct xfs_scrub_context *sc, 238 + struct xfs_scrub *sc, 239 239 xfs_ino_t ino) 240 240 { 241 241 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; ··· 245 245 /* Record a corruption while cross-referencing with an inode. */ 246 246 void 247 247 xchk_ino_xref_set_corrupt( 248 - struct xfs_scrub_context *sc, 248 + struct xfs_scrub *sc, 249 249 xfs_ino_t ino) 250 250 { 251 251 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_XCORRUPT; ··· 255 255 /* Record corruption in a block indexed by a file fork. */ 256 256 void 257 257 xchk_fblock_set_corrupt( 258 - struct xfs_scrub_context *sc, 258 + struct xfs_scrub *sc, 259 259 int whichfork, 260 260 xfs_fileoff_t offset) 261 261 { ··· 266 266 /* Record a corruption while cross-referencing a fork block. */ 267 267 void 268 268 xchk_fblock_xref_set_corrupt( 269 - struct xfs_scrub_context *sc, 269 + struct xfs_scrub *sc, 270 270 int whichfork, 271 271 xfs_fileoff_t offset) 272 272 { ··· 280 280 */ 281 281 void 282 282 xchk_ino_set_warning( 283 - struct xfs_scrub_context *sc, 283 + struct xfs_scrub *sc, 284 284 xfs_ino_t ino) 285 285 { 286 286 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_WARNING; ··· 290 290 /* Warn about a block indexed by a file fork that needs review. */ 291 291 void 292 292 xchk_fblock_set_warning( 293 - struct xfs_scrub_context *sc, 293 + struct xfs_scrub *sc, 294 294 int whichfork, 295 295 xfs_fileoff_t offset) 296 296 { ··· 301 301 /* Signal an incomplete scrub. */ 302 302 void 303 303 xchk_set_incomplete( 304 - struct xfs_scrub_context *sc) 304 + struct xfs_scrub *sc) 305 305 { 306 306 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_INCOMPLETE; 307 307 trace_xchk_incomplete(sc, __return_address); ··· 345 345 */ 346 346 int 347 347 xchk_count_rmap_ownedby_ag( 348 - struct xfs_scrub_context *sc, 348 + struct xfs_scrub *sc, 349 349 struct xfs_btree_cur *cur, 350 350 struct xfs_owner_info *oinfo, 351 351 xfs_filblks_t *blocks) ··· 371 371 /* Decide if we want to return an AG header read failure. */ 372 372 static inline bool 373 373 want_ag_read_header_failure( 374 - struct xfs_scrub_context *sc, 374 + struct xfs_scrub *sc, 375 375 unsigned int type) 376 376 { 377 377 /* Return all AG header read failures when scanning btrees. */ ··· 398 398 */ 399 399 int 400 400 xchk_ag_read_headers( 401 - struct xfs_scrub_context *sc, 401 + struct xfs_scrub *sc, 402 402 xfs_agnumber_t agno, 403 403 struct xfs_buf **agi, 404 404 struct xfs_buf **agf, ··· 452 452 /* Initialize all the btree cursors for an AG. */ 453 453 int 454 454 xchk_ag_btcur_init( 455 - struct xfs_scrub_context *sc, 455 + struct xfs_scrub *sc, 456 456 struct xchk_ag *sa) 457 457 { 458 458 struct xfs_mount *mp = sc->mp; ··· 512 512 /* Release the AG header context and btree cursors. */ 513 513 void 514 514 xchk_ag_free( 515 - struct xfs_scrub_context *sc, 515 + struct xfs_scrub *sc, 516 516 struct xchk_ag *sa) 517 517 { 518 518 xchk_ag_btcur_free(sa); ··· 544 544 */ 545 545 int 546 546 xchk_ag_init( 547 - struct xfs_scrub_context *sc, 547 + struct xfs_scrub *sc, 548 548 xfs_agnumber_t agno, 549 549 struct xchk_ag *sa) 550 550 { ··· 586 586 */ 587 587 int 588 588 xchk_trans_alloc( 589 - struct xfs_scrub_context *sc, 589 + struct xfs_scrub *sc, 590 590 uint resblks) 591 591 { 592 592 if (sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR) ··· 599 599 /* Set us up with a transaction and an empty context. */ 600 600 int 601 601 xchk_setup_fs( 602 - struct xfs_scrub_context *sc, 602 + struct xfs_scrub *sc, 603 603 struct xfs_inode *ip) 604 604 { 605 605 uint resblks; ··· 611 611 /* Set us up with AG headers and btree cursors. */ 612 612 int 613 613 xchk_setup_ag_btree( 614 - struct xfs_scrub_context *sc, 614 + struct xfs_scrub *sc, 615 615 struct xfs_inode *ip, 616 616 bool force_log) 617 617 { ··· 658 658 */ 659 659 int 660 660 xchk_get_inode( 661 - struct xfs_scrub_context *sc, 661 + struct xfs_scrub *sc, 662 662 struct xfs_inode *ip_in) 663 663 { 664 664 struct xfs_imap imap; ··· 722 722 /* Set us up to scrub a file's contents. */ 723 723 int 724 724 xchk_setup_inode_contents( 725 - struct xfs_scrub_context *sc, 725 + struct xfs_scrub *sc, 726 726 struct xfs_inode *ip, 727 727 unsigned int resblks) 728 728 { ··· 753 753 */ 754 754 bool 755 755 xchk_should_check_xref( 756 - struct xfs_scrub_context *sc, 756 + struct xfs_scrub *sc, 757 757 int *error, 758 758 struct xfs_btree_cur **curpp) 759 759 { ··· 788 788 /* Run the structure verifiers on in-memory buffers to detect bad memory. */ 789 789 void 790 790 xchk_buffer_recheck( 791 - struct xfs_scrub_context *sc, 791 + struct xfs_scrub *sc, 792 792 struct xfs_buf *bp) 793 793 { 794 794 xfs_failaddr_t fa; ··· 814 814 */ 815 815 int 816 816 xchk_metadata_inode_forks( 817 - struct xfs_scrub_context *sc) 817 + struct xfs_scrub *sc) 818 818 { 819 819 __u32 smtype; 820 820 bool shared;
+44 -44
fs/xfs/scrub/common.h
··· 13 13 */ 14 14 static inline bool 15 15 xchk_should_terminate( 16 - struct xfs_scrub_context *sc, 16 + struct xfs_scrub *sc, 17 17 int *error) 18 18 { 19 19 if (fatal_signal_pending(current)) { ··· 24 24 return false; 25 25 } 26 26 27 - int xchk_trans_alloc(struct xfs_scrub_context *sc, uint resblks); 28 - bool xchk_process_error(struct xfs_scrub_context *sc, xfs_agnumber_t agno, 27 + int xchk_trans_alloc(struct xfs_scrub *sc, uint resblks); 28 + bool xchk_process_error(struct xfs_scrub *sc, xfs_agnumber_t agno, 29 29 xfs_agblock_t bno, int *error); 30 - bool xchk_fblock_process_error(struct xfs_scrub_context *sc, int whichfork, 30 + bool xchk_fblock_process_error(struct xfs_scrub *sc, int whichfork, 31 31 xfs_fileoff_t offset, int *error); 32 32 33 - bool xchk_xref_process_error(struct xfs_scrub_context *sc, 33 + bool xchk_xref_process_error(struct xfs_scrub *sc, 34 34 xfs_agnumber_t agno, xfs_agblock_t bno, int *error); 35 - bool xchk_fblock_xref_process_error(struct xfs_scrub_context *sc, 35 + bool xchk_fblock_xref_process_error(struct xfs_scrub *sc, 36 36 int whichfork, xfs_fileoff_t offset, int *error); 37 37 38 - void xchk_block_set_preen(struct xfs_scrub_context *sc, 38 + void xchk_block_set_preen(struct xfs_scrub *sc, 39 39 struct xfs_buf *bp); 40 - void xchk_ino_set_preen(struct xfs_scrub_context *sc, xfs_ino_t ino); 40 + void xchk_ino_set_preen(struct xfs_scrub *sc, xfs_ino_t ino); 41 41 42 - void xchk_block_set_corrupt(struct xfs_scrub_context *sc, 42 + void xchk_block_set_corrupt(struct xfs_scrub *sc, 43 43 struct xfs_buf *bp); 44 - void xchk_ino_set_corrupt(struct xfs_scrub_context *sc, xfs_ino_t ino); 45 - void xchk_fblock_set_corrupt(struct xfs_scrub_context *sc, int whichfork, 44 + void xchk_ino_set_corrupt(struct xfs_scrub *sc, xfs_ino_t ino); 45 + void xchk_fblock_set_corrupt(struct xfs_scrub *sc, int whichfork, 46 46 xfs_fileoff_t offset); 47 47 48 - void xchk_block_xref_set_corrupt(struct xfs_scrub_context *sc, 48 + void xchk_block_xref_set_corrupt(struct xfs_scrub *sc, 49 49 struct xfs_buf *bp); 50 - void xchk_ino_xref_set_corrupt(struct xfs_scrub_context *sc, 50 + void xchk_ino_xref_set_corrupt(struct xfs_scrub *sc, 51 51 xfs_ino_t ino); 52 - void xchk_fblock_xref_set_corrupt(struct xfs_scrub_context *sc, 52 + void xchk_fblock_xref_set_corrupt(struct xfs_scrub *sc, 53 53 int whichfork, xfs_fileoff_t offset); 54 54 55 - void xchk_ino_set_warning(struct xfs_scrub_context *sc, xfs_ino_t ino); 56 - void xchk_fblock_set_warning(struct xfs_scrub_context *sc, int whichfork, 55 + void xchk_ino_set_warning(struct xfs_scrub *sc, xfs_ino_t ino); 56 + void xchk_fblock_set_warning(struct xfs_scrub *sc, int whichfork, 57 57 xfs_fileoff_t offset); 58 58 59 - void xchk_set_incomplete(struct xfs_scrub_context *sc); 59 + void xchk_set_incomplete(struct xfs_scrub *sc); 60 60 int xchk_checkpoint_log(struct xfs_mount *mp); 61 61 62 62 /* Are we set up for a cross-referencing check? */ 63 - bool xchk_should_check_xref(struct xfs_scrub_context *sc, int *error, 63 + bool xchk_should_check_xref(struct xfs_scrub *sc, int *error, 64 64 struct xfs_btree_cur **curpp); 65 65 66 66 /* Setup functions */ 67 - int xchk_setup_fs(struct xfs_scrub_context *sc, struct xfs_inode *ip); 68 - int xchk_setup_ag_allocbt(struct xfs_scrub_context *sc, 67 + int xchk_setup_fs(struct xfs_scrub *sc, struct xfs_inode *ip); 68 + int xchk_setup_ag_allocbt(struct xfs_scrub *sc, 69 69 struct xfs_inode *ip); 70 - int xchk_setup_ag_iallocbt(struct xfs_scrub_context *sc, 70 + int xchk_setup_ag_iallocbt(struct xfs_scrub *sc, 71 71 struct xfs_inode *ip); 72 - int xchk_setup_ag_rmapbt(struct xfs_scrub_context *sc, 72 + int xchk_setup_ag_rmapbt(struct xfs_scrub *sc, 73 73 struct xfs_inode *ip); 74 - int xchk_setup_ag_refcountbt(struct xfs_scrub_context *sc, 74 + int xchk_setup_ag_refcountbt(struct xfs_scrub *sc, 75 75 struct xfs_inode *ip); 76 - int xchk_setup_inode(struct xfs_scrub_context *sc, 76 + int xchk_setup_inode(struct xfs_scrub *sc, 77 77 struct xfs_inode *ip); 78 - int xchk_setup_inode_bmap(struct xfs_scrub_context *sc, 78 + int xchk_setup_inode_bmap(struct xfs_scrub *sc, 79 79 struct xfs_inode *ip); 80 - int xchk_setup_inode_bmap_data(struct xfs_scrub_context *sc, 80 + int xchk_setup_inode_bmap_data(struct xfs_scrub *sc, 81 81 struct xfs_inode *ip); 82 - int xchk_setup_directory(struct xfs_scrub_context *sc, 82 + int xchk_setup_directory(struct xfs_scrub *sc, 83 83 struct xfs_inode *ip); 84 - int xchk_setup_xattr(struct xfs_scrub_context *sc, 84 + int xchk_setup_xattr(struct xfs_scrub *sc, 85 85 struct xfs_inode *ip); 86 - int xchk_setup_symlink(struct xfs_scrub_context *sc, 86 + int xchk_setup_symlink(struct xfs_scrub *sc, 87 87 struct xfs_inode *ip); 88 - int xchk_setup_parent(struct xfs_scrub_context *sc, 88 + int xchk_setup_parent(struct xfs_scrub *sc, 89 89 struct xfs_inode *ip); 90 90 #ifdef CONFIG_XFS_RT 91 - int xchk_setup_rt(struct xfs_scrub_context *sc, struct xfs_inode *ip); 91 + int xchk_setup_rt(struct xfs_scrub *sc, struct xfs_inode *ip); 92 92 #else 93 93 static inline int 94 - xchk_setup_rt(struct xfs_scrub_context *sc, struct xfs_inode *ip) 94 + xchk_setup_rt(struct xfs_scrub *sc, struct xfs_inode *ip) 95 95 { 96 96 return -ENOENT; 97 97 } 98 98 #endif 99 99 #ifdef CONFIG_XFS_QUOTA 100 - int xchk_setup_quota(struct xfs_scrub_context *sc, struct xfs_inode *ip); 100 + int xchk_setup_quota(struct xfs_scrub *sc, struct xfs_inode *ip); 101 101 #else 102 102 static inline int 103 - xchk_setup_quota(struct xfs_scrub_context *sc, struct xfs_inode *ip) 103 + xchk_setup_quota(struct xfs_scrub *sc, struct xfs_inode *ip) 104 104 { 105 105 return -ENOENT; 106 106 } 107 107 #endif 108 108 109 - void xchk_ag_free(struct xfs_scrub_context *sc, struct xchk_ag *sa); 110 - int xchk_ag_init(struct xfs_scrub_context *sc, xfs_agnumber_t agno, 109 + void xchk_ag_free(struct xfs_scrub *sc, struct xchk_ag *sa); 110 + int xchk_ag_init(struct xfs_scrub *sc, xfs_agnumber_t agno, 111 111 struct xchk_ag *sa); 112 112 void xchk_perag_get(struct xfs_mount *mp, struct xchk_ag *sa); 113 - int xchk_ag_read_headers(struct xfs_scrub_context *sc, xfs_agnumber_t agno, 113 + int xchk_ag_read_headers(struct xfs_scrub *sc, xfs_agnumber_t agno, 114 114 struct xfs_buf **agi, struct xfs_buf **agf, 115 115 struct xfs_buf **agfl); 116 116 void xchk_ag_btcur_free(struct xchk_ag *sa); 117 - int xchk_ag_btcur_init(struct xfs_scrub_context *sc, 117 + int xchk_ag_btcur_init(struct xfs_scrub *sc, 118 118 struct xchk_ag *sa); 119 - int xchk_count_rmap_ownedby_ag(struct xfs_scrub_context *sc, 119 + int xchk_count_rmap_ownedby_ag(struct xfs_scrub *sc, 120 120 struct xfs_btree_cur *cur, 121 121 struct xfs_owner_info *oinfo, 122 122 xfs_filblks_t *blocks); 123 123 124 - int xchk_setup_ag_btree(struct xfs_scrub_context *sc, 124 + int xchk_setup_ag_btree(struct xfs_scrub *sc, 125 125 struct xfs_inode *ip, bool force_log); 126 - int xchk_get_inode(struct xfs_scrub_context *sc, struct xfs_inode *ip_in); 127 - int xchk_setup_inode_contents(struct xfs_scrub_context *sc, 126 + int xchk_get_inode(struct xfs_scrub *sc, struct xfs_inode *ip_in); 127 + int xchk_setup_inode_contents(struct xfs_scrub *sc, 128 128 struct xfs_inode *ip, unsigned int resblks); 129 - void xchk_buffer_recheck(struct xfs_scrub_context *sc, struct xfs_buf *bp); 129 + void xchk_buffer_recheck(struct xfs_scrub *sc, struct xfs_buf *bp); 130 130 131 131 /* 132 132 * Don't bother cross-referencing if we already found corruption or cross ··· 138 138 XFS_SCRUB_OFLAG_XCORRUPT); 139 139 } 140 140 141 - int xchk_metadata_inode_forks(struct xfs_scrub_context *sc); 141 + int xchk_metadata_inode_forks(struct xfs_scrub *sc); 142 142 int xchk_ilock_inverted(struct xfs_inode *ip, uint lock_mode); 143 143 144 144 #endif /* __XFS_SCRUB_COMMON_H__ */
+3 -3
fs/xfs/scrub/dabtree.c
··· 40 40 int level, 41 41 int *error) 42 42 { 43 - struct xfs_scrub_context *sc = ds->sc; 43 + struct xfs_scrub *sc = ds->sc; 44 44 45 45 if (*error == 0) 46 46 return true; ··· 75 75 struct xchk_da_btree *ds, 76 76 int level) 77 77 { 78 - struct xfs_scrub_context *sc = ds->sc; 78 + struct xfs_scrub *sc = ds->sc; 79 79 80 80 sc->sm->sm_flags |= XFS_SCRUB_OFLAG_CORRUPT; 81 81 ··· 474 474 /* Visit all nodes and leaves of a da btree. */ 475 475 int 476 476 xchk_da_btree( 477 - struct xfs_scrub_context *sc, 477 + struct xfs_scrub *sc, 478 478 int whichfork, 479 479 xchk_da_btree_rec_fn scrub_fn, 480 480 void *private)
+2 -2
fs/xfs/scrub/dabtree.h
··· 13 13 xfs_dahash_t hashes[XFS_DA_NODE_MAXDEPTH]; 14 14 int maxrecs[XFS_DA_NODE_MAXDEPTH]; 15 15 struct xfs_da_state *state; 16 - struct xfs_scrub_context *sc; 16 + struct xfs_scrub *sc; 17 17 void *private; 18 18 19 19 /* ··· 39 39 40 40 int xchk_da_btree_hash(struct xchk_da_btree *ds, int level, 41 41 __be32 *hashp); 42 - int xchk_da_btree(struct xfs_scrub_context *sc, int whichfork, 42 + int xchk_da_btree(struct xfs_scrub *sc, int whichfork, 43 43 xchk_da_btree_rec_fn scrub_fn, void *private); 44 44 45 45 #endif /* __XFS_SCRUB_DABTREE_H__ */
+9 -9
fs/xfs/scrub/dir.c
··· 32 32 /* Set us up to scrub directories. */ 33 33 int 34 34 xchk_setup_directory( 35 - struct xfs_scrub_context *sc, 35 + struct xfs_scrub *sc, 36 36 struct xfs_inode *ip) 37 37 { 38 38 return xchk_setup_inode_contents(sc, ip, 0); ··· 46 46 /* VFS fill-directory iterator */ 47 47 struct dir_context dir_iter; 48 48 49 - struct xfs_scrub_context *sc; 49 + struct xfs_scrub *sc; 50 50 }; 51 51 52 52 /* Check that an inode's mode matches a given DT_ type. */ ··· 289 289 */ 290 290 STATIC void 291 291 xchk_directory_check_free_entry( 292 - struct xfs_scrub_context *sc, 292 + struct xfs_scrub *sc, 293 293 xfs_dablk_t lblk, 294 294 struct xfs_dir2_data_free *bf, 295 295 struct xfs_dir2_data_unused *dup) ··· 314 314 /* Check free space info in a directory data block. */ 315 315 STATIC int 316 316 xchk_directory_data_bestfree( 317 - struct xfs_scrub_context *sc, 317 + struct xfs_scrub *sc, 318 318 xfs_dablk_t lblk, 319 319 bool is_block) 320 320 { ··· 455 455 */ 456 456 STATIC void 457 457 xchk_directory_check_freesp( 458 - struct xfs_scrub_context *sc, 458 + struct xfs_scrub *sc, 459 459 xfs_dablk_t lblk, 460 460 struct xfs_buf *dbp, 461 461 unsigned int len) ··· 474 474 /* Check free space info in a directory leaf1 block. */ 475 475 STATIC int 476 476 xchk_directory_leaf1_bestfree( 477 - struct xfs_scrub_context *sc, 477 + struct xfs_scrub *sc, 478 478 struct xfs_da_args *args, 479 479 xfs_dablk_t lblk) 480 480 { ··· 572 572 /* Check free space info in a directory freespace block. */ 573 573 STATIC int 574 574 xchk_directory_free_bestfree( 575 - struct xfs_scrub_context *sc, 575 + struct xfs_scrub *sc, 576 576 struct xfs_da_args *args, 577 577 xfs_dablk_t lblk) 578 578 { ··· 626 626 /* Check free space information in directories. */ 627 627 STATIC int 628 628 xchk_directory_blocks( 629 - struct xfs_scrub_context *sc) 629 + struct xfs_scrub *sc) 630 630 { 631 631 struct xfs_bmbt_irec got; 632 632 struct xfs_da_args args; ··· 770 770 /* Scrub a whole directory. */ 771 771 int 772 772 xchk_directory( 773 - struct xfs_scrub_context *sc) 773 + struct xfs_scrub *sc) 774 774 { 775 775 struct xchk_dir_ctx sdc = { 776 776 .dir_iter.actor = xchk_dir_actor,
+11 -11
fs/xfs/scrub/ialloc.c
··· 36 36 */ 37 37 int 38 38 xchk_setup_ag_iallocbt( 39 - struct xfs_scrub_context *sc, 39 + struct xfs_scrub *sc, 40 40 struct xfs_inode *ip) 41 41 { 42 42 return xchk_setup_ag_btree(sc, ip, sc->try_harder); ··· 51 51 */ 52 52 static inline void 53 53 xchk_iallocbt_chunk_xref_other( 54 - struct xfs_scrub_context *sc, 54 + struct xfs_scrub *sc, 55 55 struct xfs_inobt_rec_incore *irec, 56 56 xfs_agino_t agino) 57 57 { ··· 76 76 /* Cross-reference with the other btrees. */ 77 77 STATIC void 78 78 xchk_iallocbt_chunk_xref( 79 - struct xfs_scrub_context *sc, 79 + struct xfs_scrub *sc, 80 80 struct xfs_inobt_rec_incore *irec, 81 81 xfs_agino_t agino, 82 82 xfs_agblock_t agbno, ··· 363 363 */ 364 364 STATIC void 365 365 xchk_iallocbt_xref_rmap_btreeblks( 366 - struct xfs_scrub_context *sc, 366 + struct xfs_scrub *sc, 367 367 int which) 368 368 { 369 369 struct xfs_owner_info oinfo; ··· 403 403 */ 404 404 STATIC void 405 405 xchk_iallocbt_xref_rmap_inodes( 406 - struct xfs_scrub_context *sc, 406 + struct xfs_scrub *sc, 407 407 int which, 408 408 xfs_filblks_t inode_blocks) 409 409 { ··· 427 427 /* Scrub the inode btrees for some AG. */ 428 428 STATIC int 429 429 xchk_iallocbt( 430 - struct xfs_scrub_context *sc, 430 + struct xfs_scrub *sc, 431 431 xfs_btnum_t which) 432 432 { 433 433 struct xfs_btree_cur *cur; ··· 459 459 460 460 int 461 461 xchk_inobt( 462 - struct xfs_scrub_context *sc) 462 + struct xfs_scrub *sc) 463 463 { 464 464 return xchk_iallocbt(sc, XFS_BTNUM_INO); 465 465 } 466 466 467 467 int 468 468 xchk_finobt( 469 - struct xfs_scrub_context *sc) 469 + struct xfs_scrub *sc) 470 470 { 471 471 return xchk_iallocbt(sc, XFS_BTNUM_FINO); 472 472 } ··· 474 474 /* See if an inode btree has (or doesn't have) an inode chunk record. */ 475 475 static inline void 476 476 xchk_xref_inode_check( 477 - struct xfs_scrub_context *sc, 477 + struct xfs_scrub *sc, 478 478 xfs_agblock_t agbno, 479 479 xfs_extlen_t len, 480 480 struct xfs_btree_cur **icur, ··· 496 496 /* xref check that the extent is not covered by inodes */ 497 497 void 498 498 xchk_xref_is_not_inode_chunk( 499 - struct xfs_scrub_context *sc, 499 + struct xfs_scrub *sc, 500 500 xfs_agblock_t agbno, 501 501 xfs_extlen_t len) 502 502 { ··· 507 507 /* xref check that the extent is covered by inodes */ 508 508 void 509 509 xchk_xref_is_inode_chunk( 510 - struct xfs_scrub_context *sc, 510 + struct xfs_scrub *sc, 511 511 xfs_agblock_t agbno, 512 512 xfs_extlen_t len) 513 513 {
+11 -11
fs/xfs/scrub/inode.c
··· 38 38 */ 39 39 int 40 40 xchk_setup_inode( 41 - struct xfs_scrub_context *sc, 41 + struct xfs_scrub *sc, 42 42 struct xfs_inode *ip) 43 43 { 44 44 int error; ··· 77 77 /* Validate di_extsize hint. */ 78 78 STATIC void 79 79 xchk_inode_extsize( 80 - struct xfs_scrub_context *sc, 80 + struct xfs_scrub *sc, 81 81 struct xfs_dinode *dip, 82 82 xfs_ino_t ino, 83 83 uint16_t mode, ··· 99 99 */ 100 100 STATIC void 101 101 xchk_inode_cowextsize( 102 - struct xfs_scrub_context *sc, 102 + struct xfs_scrub *sc, 103 103 struct xfs_dinode *dip, 104 104 xfs_ino_t ino, 105 105 uint16_t mode, ··· 118 118 /* Make sure the di_flags make sense for the inode. */ 119 119 STATIC void 120 120 xchk_inode_flags( 121 - struct xfs_scrub_context *sc, 121 + struct xfs_scrub *sc, 122 122 struct xfs_dinode *dip, 123 123 xfs_ino_t ino, 124 124 uint16_t mode, ··· 163 163 /* Make sure the di_flags2 make sense for the inode. */ 164 164 STATIC void 165 165 xchk_inode_flags2( 166 - struct xfs_scrub_context *sc, 166 + struct xfs_scrub *sc, 167 167 struct xfs_dinode *dip, 168 168 xfs_ino_t ino, 169 169 uint16_t mode, ··· 206 206 /* Scrub all the ondisk inode fields. */ 207 207 STATIC void 208 208 xchk_dinode( 209 - struct xfs_scrub_context *sc, 209 + struct xfs_scrub *sc, 210 210 struct xfs_dinode *dip, 211 211 xfs_ino_t ino) 212 212 { ··· 426 426 */ 427 427 static void 428 428 xchk_inode_xref_finobt( 429 - struct xfs_scrub_context *sc, 429 + struct xfs_scrub *sc, 430 430 xfs_ino_t ino) 431 431 { 432 432 struct xfs_inobt_rec_incore rec; ··· 469 469 /* Cross reference the inode fields with the forks. */ 470 470 STATIC void 471 471 xchk_inode_xref_bmap( 472 - struct xfs_scrub_context *sc, 472 + struct xfs_scrub *sc, 473 473 struct xfs_dinode *dip) 474 474 { 475 475 xfs_extnum_t nextents; ··· 503 503 /* Cross-reference with the other btrees. */ 504 504 STATIC void 505 505 xchk_inode_xref( 506 - struct xfs_scrub_context *sc, 506 + struct xfs_scrub *sc, 507 507 xfs_ino_t ino, 508 508 struct xfs_dinode *dip) 509 509 { ··· 540 540 */ 541 541 static void 542 542 xchk_inode_check_reflink_iflag( 543 - struct xfs_scrub_context *sc, 543 + struct xfs_scrub *sc, 544 544 xfs_ino_t ino) 545 545 { 546 546 struct xfs_mount *mp = sc->mp; ··· 564 564 /* Scrub an inode. */ 565 565 int 566 566 xchk_inode( 567 - struct xfs_scrub_context *sc) 567 + struct xfs_scrub *sc) 568 568 { 569 569 struct xfs_dinode di; 570 570 int error = 0;
+4 -4
fs/xfs/scrub/parent.c
··· 28 28 /* Set us up to scrub parents. */ 29 29 int 30 30 xchk_setup_parent( 31 - struct xfs_scrub_context *sc, 31 + struct xfs_scrub *sc, 32 32 struct xfs_inode *ip) 33 33 { 34 34 return xchk_setup_inode_contents(sc, ip, 0); ··· 65 65 /* Count the number of dentries in the parent dir that point to this inode. */ 66 66 STATIC int 67 67 xchk_parent_count_parent_dentries( 68 - struct xfs_scrub_context *sc, 68 + struct xfs_scrub *sc, 69 69 struct xfs_inode *parent, 70 70 xfs_nlink_t *nlink) 71 71 { ··· 121 121 */ 122 122 STATIC int 123 123 xchk_parent_validate( 124 - struct xfs_scrub_context *sc, 124 + struct xfs_scrub *sc, 125 125 xfs_ino_t dnum, 126 126 bool *try_again) 127 127 { ··· 255 255 /* Scrub a parent pointer. */ 256 256 int 257 257 xchk_parent( 258 - struct xfs_scrub_context *sc) 258 + struct xfs_scrub *sc) 259 259 { 260 260 struct xfs_mount *mp = sc->mp; 261 261 xfs_ino_t dnum;
+6 -6
fs/xfs/scrub/quota.c
··· 31 31 /* Convert a scrub type code to a DQ flag, or return 0 if error. */ 32 32 static inline uint 33 33 xchk_quota_to_dqtype( 34 - struct xfs_scrub_context *sc) 34 + struct xfs_scrub *sc) 35 35 { 36 36 switch (sc->sm->sm_type) { 37 37 case XFS_SCRUB_TYPE_UQUOTA: ··· 48 48 /* Set us up to scrub a quota. */ 49 49 int 50 50 xchk_setup_quota( 51 - struct xfs_scrub_context *sc, 51 + struct xfs_scrub *sc, 52 52 struct xfs_inode *ip) 53 53 { 54 54 uint dqtype; ··· 76 76 /* Quotas. */ 77 77 78 78 struct xchk_quota_info { 79 - struct xfs_scrub_context *sc; 79 + struct xfs_scrub *sc; 80 80 xfs_dqid_t last_id; 81 81 }; 82 82 ··· 88 88 void *priv) 89 89 { 90 90 struct xchk_quota_info *sqi = priv; 91 - struct xfs_scrub_context *sc = sqi->sc; 91 + struct xfs_scrub *sc = sqi->sc; 92 92 struct xfs_mount *mp = sc->mp; 93 93 struct xfs_disk_dquot *d = &dq->q_core; 94 94 struct xfs_quotainfo *qi = mp->m_quotainfo; ··· 195 195 /* Check the quota's data fork. */ 196 196 STATIC int 197 197 xchk_quota_data_fork( 198 - struct xfs_scrub_context *sc) 198 + struct xfs_scrub *sc) 199 199 { 200 200 struct xfs_bmbt_irec irec = { 0 }; 201 201 struct xfs_iext_cursor icur; ··· 234 234 /* Scrub all of a quota type's items. */ 235 235 int 236 236 xchk_quota( 237 - struct xfs_scrub_context *sc) 237 + struct xfs_scrub *sc) 238 238 { 239 239 struct xchk_quota_info sqi; 240 240 struct xfs_mount *mp = sc->mp;
+8 -8
fs/xfs/scrub/refcount.c
··· 29 29 */ 30 30 int 31 31 xchk_setup_ag_refcountbt( 32 - struct xfs_scrub_context *sc, 32 + struct xfs_scrub *sc, 33 33 struct xfs_inode *ip) 34 34 { 35 35 return xchk_setup_ag_btree(sc, ip, false); ··· 79 79 }; 80 80 81 81 struct xchk_refcnt_check { 82 - struct xfs_scrub_context *sc; 82 + struct xfs_scrub *sc; 83 83 struct list_head fragments; 84 84 85 85 /* refcount extent we're examining */ ··· 278 278 /* Use the rmap entries covering this extent to verify the refcount. */ 279 279 STATIC void 280 280 xchk_refcountbt_xref_rmap( 281 - struct xfs_scrub_context *sc, 281 + struct xfs_scrub *sc, 282 282 xfs_agblock_t bno, 283 283 xfs_extlen_t len, 284 284 xfs_nlink_t refcount) ··· 325 325 /* Cross-reference with the other btrees. */ 326 326 STATIC void 327 327 xchk_refcountbt_xref( 328 - struct xfs_scrub_context *sc, 328 + struct xfs_scrub *sc, 329 329 xfs_agblock_t agbno, 330 330 xfs_extlen_t len, 331 331 xfs_nlink_t refcount) ··· 382 382 /* Make sure we have as many refc blocks as the rmap says. */ 383 383 STATIC void 384 384 xchk_refcount_xref_rmap( 385 - struct xfs_scrub_context *sc, 385 + struct xfs_scrub *sc, 386 386 struct xfs_owner_info *oinfo, 387 387 xfs_filblks_t cow_blocks) 388 388 { ··· 417 417 /* Scrub the refcount btree for some AG. */ 418 418 int 419 419 xchk_refcountbt( 420 - struct xfs_scrub_context *sc) 420 + struct xfs_scrub *sc) 421 421 { 422 422 struct xfs_owner_info oinfo; 423 423 xfs_agblock_t cow_blocks = 0; ··· 437 437 /* xref check that a cow staging extent is marked in the refcountbt. */ 438 438 void 439 439 xchk_xref_is_cow_staging( 440 - struct xfs_scrub_context *sc, 440 + struct xfs_scrub *sc, 441 441 xfs_agblock_t agbno, 442 442 xfs_extlen_t len) 443 443 { ··· 483 483 */ 484 484 void 485 485 xchk_xref_is_not_shared( 486 - struct xfs_scrub_context *sc, 486 + struct xfs_scrub *sc, 487 487 xfs_agblock_t agbno, 488 488 xfs_extlen_t len) 489 489 {
+18 -18
fs/xfs/scrub/repair.c
··· 43 43 int 44 44 xrep_attempt( 45 45 struct xfs_inode *ip, 46 - struct xfs_scrub_context *sc, 46 + struct xfs_scrub *sc, 47 47 bool *fixed) 48 48 { 49 49 int error = 0; ··· 106 106 */ 107 107 int 108 108 xrep_probe( 109 - struct xfs_scrub_context *sc) 109 + struct xfs_scrub *sc) 110 110 { 111 111 int error = 0; 112 112 ··· 122 122 */ 123 123 int 124 124 xrep_roll_ag_trans( 125 - struct xfs_scrub_context *sc) 125 + struct xfs_scrub *sc) 126 126 { 127 127 int error; 128 128 ··· 179 179 */ 180 180 xfs_extlen_t 181 181 xrep_calc_ag_resblks( 182 - struct xfs_scrub_context *sc) 182 + struct xfs_scrub *sc) 183 183 { 184 184 struct xfs_mount *mp = sc->mp; 185 185 struct xfs_scrub_metadata *sm = sc->sm; ··· 279 279 /* Allocate a block in an AG. */ 280 280 int 281 281 xrep_alloc_ag_block( 282 - struct xfs_scrub_context *sc, 282 + struct xfs_scrub *sc, 283 283 struct xfs_owner_info *oinfo, 284 284 xfs_fsblock_t *fsbno, 285 285 enum xfs_ag_resv_type resv) ··· 330 330 /* Initialize a new AG btree root block with zero entries. */ 331 331 int 332 332 xrep_init_btblock( 333 - struct xfs_scrub_context *sc, 333 + struct xfs_scrub *sc, 334 334 xfs_fsblock_t fsb, 335 335 struct xfs_buf **bpp, 336 336 xfs_btnum_t btnum, ··· 385 385 /* Collect a dead btree extent for later disposal. */ 386 386 int 387 387 xrep_collect_btree_extent( 388 - struct xfs_scrub_context *sc, 388 + struct xfs_scrub *sc, 389 389 struct xrep_extent_list *exlist, 390 390 xfs_fsblock_t fsbno, 391 391 xfs_extlen_t len) ··· 415 415 */ 416 416 void 417 417 xrep_cancel_btree_extents( 418 - struct xfs_scrub_context *sc, 418 + struct xfs_scrub *sc, 419 419 struct xrep_extent_list *exlist) 420 420 { 421 421 struct xrep_extent *rex; ··· 463 463 #define RIGHT_ALIGNED (1 << 1) 464 464 int 465 465 xrep_subtract_extents( 466 - struct xfs_scrub_context *sc, 466 + struct xfs_scrub *sc, 467 467 struct xrep_extent_list *exlist, 468 468 struct xrep_extent_list *sublist) 469 469 { ··· 620 620 */ 621 621 int 622 622 xrep_invalidate_blocks( 623 - struct xfs_scrub_context *sc, 623 + struct xfs_scrub *sc, 624 624 struct xrep_extent_list *exlist) 625 625 { 626 626 struct xrep_extent *rex; ··· 658 658 /* Ensure the freelist is the correct size. */ 659 659 int 660 660 xrep_fix_freelist( 661 - struct xfs_scrub_context *sc, 661 + struct xfs_scrub *sc, 662 662 bool can_shrink) 663 663 { 664 664 struct xfs_alloc_arg args = {0}; ··· 678 678 */ 679 679 STATIC int 680 680 xrep_put_freelist( 681 - struct xfs_scrub_context *sc, 681 + struct xfs_scrub *sc, 682 682 xfs_agblock_t agbno) 683 683 { 684 684 struct xfs_owner_info oinfo; ··· 714 714 /* Dispose of a single metadata block. */ 715 715 STATIC int 716 716 xrep_dispose_btree_block( 717 - struct xfs_scrub_context *sc, 717 + struct xfs_scrub *sc, 718 718 xfs_fsblock_t fsbno, 719 719 struct xfs_owner_info *oinfo, 720 720 enum xfs_ag_resv_type resv) ··· 788 788 /* Dispose of btree blocks from an old per-AG btree. */ 789 789 int 790 790 xrep_reap_btree_extents( 791 - struct xfs_scrub_context *sc, 791 + struct xfs_scrub *sc, 792 792 struct xrep_extent_list *exlist, 793 793 struct xfs_owner_info *oinfo, 794 794 enum xfs_ag_resv_type type) ··· 851 851 */ 852 852 853 853 struct xrep_findroot { 854 - struct xfs_scrub_context *sc; 854 + struct xfs_scrub *sc; 855 855 struct xfs_buf *agfl_bp; 856 856 struct xfs_agf *agf; 857 857 struct xrep_find_ag_btree *btree_info; ··· 981 981 /* Find the roots of the per-AG btrees described in btree_info. */ 982 982 int 983 983 xrep_find_ag_btree_roots( 984 - struct xfs_scrub_context *sc, 984 + struct xfs_scrub *sc, 985 985 struct xfs_buf *agf_bp, 986 986 struct xrep_find_ag_btree *btree_info, 987 987 struct xfs_buf *agfl_bp) ··· 1016 1016 /* Force a quotacheck the next time we mount. */ 1017 1017 void 1018 1018 xrep_force_quotacheck( 1019 - struct xfs_scrub_context *sc, 1019 + struct xfs_scrub *sc, 1020 1020 uint dqtype) 1021 1021 { 1022 1022 uint flag; ··· 1044 1044 */ 1045 1045 int 1046 1046 xrep_ino_dqattach( 1047 - struct xfs_scrub_context *sc) 1047 + struct xfs_scrub *sc) 1048 1048 { 1049 1049 int error; 1050 1050
+19 -19
fs/xfs/scrub/repair.h
··· 6 6 #ifndef __XFS_SCRUB_REPAIR_H__ 7 7 #define __XFS_SCRUB_REPAIR_H__ 8 8 9 - static inline int xrep_notsupported(struct xfs_scrub_context *sc) 9 + static inline int xrep_notsupported(struct xfs_scrub *sc) 10 10 { 11 11 return -EOPNOTSUPP; 12 12 } ··· 15 15 16 16 /* Repair helpers */ 17 17 18 - int xrep_attempt(struct xfs_inode *ip, struct xfs_scrub_context *sc, 18 + int xrep_attempt(struct xfs_inode *ip, struct xfs_scrub *sc, 19 19 bool *fixed); 20 20 void xrep_failure(struct xfs_mount *mp); 21 - int xrep_roll_ag_trans(struct xfs_scrub_context *sc); 21 + int xrep_roll_ag_trans(struct xfs_scrub *sc); 22 22 bool xrep_ag_has_space(struct xfs_perag *pag, xfs_extlen_t nr_blocks, 23 23 enum xfs_ag_resv_type type); 24 - xfs_extlen_t xrep_calc_ag_resblks(struct xfs_scrub_context *sc); 25 - int xrep_alloc_ag_block(struct xfs_scrub_context *sc, 24 + xfs_extlen_t xrep_calc_ag_resblks(struct xfs_scrub *sc); 25 + int xrep_alloc_ag_block(struct xfs_scrub *sc, 26 26 struct xfs_owner_info *oinfo, xfs_fsblock_t *fsbno, 27 27 enum xfs_ag_resv_type resv); 28 - int xrep_init_btblock(struct xfs_scrub_context *sc, xfs_fsblock_t fsb, 28 + int xrep_init_btblock(struct xfs_scrub *sc, xfs_fsblock_t fsb, 29 29 struct xfs_buf **bpp, xfs_btnum_t btnum, 30 30 const struct xfs_buf_ops *ops); 31 31 ··· 48 48 49 49 #define for_each_xrep_extent_safe(rbe, n, exlist) \ 50 50 list_for_each_entry_safe((rbe), (n), &(exlist)->list, list) 51 - int xrep_collect_btree_extent(struct xfs_scrub_context *sc, 51 + int xrep_collect_btree_extent(struct xfs_scrub *sc, 52 52 struct xrep_extent_list *btlist, xfs_fsblock_t fsbno, 53 53 xfs_extlen_t len); 54 - void xrep_cancel_btree_extents(struct xfs_scrub_context *sc, 54 + void xrep_cancel_btree_extents(struct xfs_scrub *sc, 55 55 struct xrep_extent_list *btlist); 56 - int xrep_subtract_extents(struct xfs_scrub_context *sc, 56 + int xrep_subtract_extents(struct xfs_scrub *sc, 57 57 struct xrep_extent_list *exlist, 58 58 struct xrep_extent_list *sublist); 59 - int xrep_fix_freelist(struct xfs_scrub_context *sc, bool can_shrink); 60 - int xrep_invalidate_blocks(struct xfs_scrub_context *sc, 59 + int xrep_fix_freelist(struct xfs_scrub *sc, bool can_shrink); 60 + int xrep_invalidate_blocks(struct xfs_scrub *sc, 61 61 struct xrep_extent_list *btlist); 62 - int xrep_reap_btree_extents(struct xfs_scrub_context *sc, 62 + int xrep_reap_btree_extents(struct xfs_scrub *sc, 63 63 struct xrep_extent_list *exlist, 64 64 struct xfs_owner_info *oinfo, enum xfs_ag_resv_type type); 65 65 ··· 78 78 unsigned int height; 79 79 }; 80 80 81 - int xrep_find_ag_btree_roots(struct xfs_scrub_context *sc, 81 + int xrep_find_ag_btree_roots(struct xfs_scrub *sc, 82 82 struct xfs_buf *agf_bp, 83 83 struct xrep_find_ag_btree *btree_info, 84 84 struct xfs_buf *agfl_bp); 85 - void xrep_force_quotacheck(struct xfs_scrub_context *sc, uint dqtype); 86 - int xrep_ino_dqattach(struct xfs_scrub_context *sc); 85 + void xrep_force_quotacheck(struct xfs_scrub *sc, uint dqtype); 86 + int xrep_ino_dqattach(struct xfs_scrub *sc); 87 87 88 88 /* Metadata repairers */ 89 89 90 - int xrep_probe(struct xfs_scrub_context *sc); 91 - int xrep_superblock(struct xfs_scrub_context *sc); 90 + int xrep_probe(struct xfs_scrub *sc); 91 + int xrep_superblock(struct xfs_scrub *sc); 92 92 93 93 #else 94 94 95 95 static inline int xrep_attempt( 96 96 struct xfs_inode *ip, 97 - struct xfs_scrub_context *sc, 97 + struct xfs_scrub *sc, 98 98 bool *fixed) 99 99 { 100 100 return -EOPNOTSUPP; ··· 104 104 105 105 static inline xfs_extlen_t 106 106 xrep_calc_ag_resblks( 107 - struct xfs_scrub_context *sc) 107 + struct xfs_scrub *sc) 108 108 { 109 109 ASSERT(!(sc->sm->sm_flags & XFS_SCRUB_IFLAG_REPAIR)); 110 110 return 0;
+8 -8
fs/xfs/scrub/rmap.c
··· 30 30 */ 31 31 int 32 32 xchk_setup_ag_rmapbt( 33 - struct xfs_scrub_context *sc, 33 + struct xfs_scrub *sc, 34 34 struct xfs_inode *ip) 35 35 { 36 36 return xchk_setup_ag_btree(sc, ip, false); ··· 41 41 /* Cross-reference a rmap against the refcount btree. */ 42 42 STATIC void 43 43 xchk_rmapbt_xref_refc( 44 - struct xfs_scrub_context *sc, 44 + struct xfs_scrub *sc, 45 45 struct xfs_rmap_irec *irec) 46 46 { 47 47 xfs_agblock_t fbno; ··· 72 72 /* Cross-reference with the other btrees. */ 73 73 STATIC void 74 74 xchk_rmapbt_xref( 75 - struct xfs_scrub_context *sc, 75 + struct xfs_scrub *sc, 76 76 struct xfs_rmap_irec *irec) 77 77 { 78 78 xfs_agblock_t agbno = irec->rm_startblock; ··· 172 172 /* Scrub the rmap btree for some AG. */ 173 173 int 174 174 xchk_rmapbt( 175 - struct xfs_scrub_context *sc) 175 + struct xfs_scrub *sc) 176 176 { 177 177 struct xfs_owner_info oinfo; 178 178 ··· 184 184 /* xref check that the extent is owned by a given owner */ 185 185 static inline void 186 186 xchk_xref_check_owner( 187 - struct xfs_scrub_context *sc, 187 + struct xfs_scrub *sc, 188 188 xfs_agblock_t bno, 189 189 xfs_extlen_t len, 190 190 struct xfs_owner_info *oinfo, ··· 207 207 /* xref check that the extent is owned by a given owner */ 208 208 void 209 209 xchk_xref_is_owned_by( 210 - struct xfs_scrub_context *sc, 210 + struct xfs_scrub *sc, 211 211 xfs_agblock_t bno, 212 212 xfs_extlen_t len, 213 213 struct xfs_owner_info *oinfo) ··· 218 218 /* xref check that the extent is not owned by a given owner */ 219 219 void 220 220 xchk_xref_is_not_owned_by( 221 - struct xfs_scrub_context *sc, 221 + struct xfs_scrub *sc, 222 222 xfs_agblock_t bno, 223 223 xfs_extlen_t len, 224 224 struct xfs_owner_info *oinfo) ··· 229 229 /* xref check that the extent has no reverse mapping at all */ 230 230 void 231 231 xchk_xref_has_no_owner( 232 - struct xfs_scrub_context *sc, 232 + struct xfs_scrub *sc, 233 233 xfs_agblock_t bno, 234 234 xfs_extlen_t len) 235 235 {
+5 -5
fs/xfs/scrub/rtbitmap.c
··· 26 26 /* Set us up with the realtime metadata locked. */ 27 27 int 28 28 xchk_setup_rt( 29 - struct xfs_scrub_context *sc, 29 + struct xfs_scrub *sc, 30 30 struct xfs_inode *ip) 31 31 { 32 32 int error; ··· 51 51 struct xfs_rtalloc_rec *rec, 52 52 void *priv) 53 53 { 54 - struct xfs_scrub_context *sc = priv; 54 + struct xfs_scrub *sc = priv; 55 55 xfs_rtblock_t startblock; 56 56 xfs_rtblock_t blockcount; 57 57 ··· 68 68 /* Scrub the realtime bitmap. */ 69 69 int 70 70 xchk_rtbitmap( 71 - struct xfs_scrub_context *sc) 71 + struct xfs_scrub *sc) 72 72 { 73 73 int error; 74 74 ··· 88 88 /* Scrub the realtime summary. */ 89 89 int 90 90 xchk_rtsummary( 91 - struct xfs_scrub_context *sc) 91 + struct xfs_scrub *sc) 92 92 { 93 93 struct xfs_inode *rsumip = sc->mp->m_rsumip; 94 94 struct xfs_inode *old_ip = sc->ip; ··· 125 125 /* xref check that the extent is not free in the rtbitmap */ 126 126 void 127 127 xchk_xref_is_used_rt_space( 128 - struct xfs_scrub_context *sc, 128 + struct xfs_scrub *sc, 129 129 xfs_rtblock_t fsbno, 130 130 xfs_extlen_t len) 131 131 {
+5 -5
fs/xfs/scrub/scrub.c
··· 151 151 */ 152 152 static int 153 153 xchk_probe( 154 - struct xfs_scrub_context *sc) 154 + struct xfs_scrub *sc) 155 155 { 156 156 int error = 0; 157 157 ··· 166 166 /* Free all the resources and finish the transactions. */ 167 167 STATIC int 168 168 xchk_teardown( 169 - struct xfs_scrub_context *sc, 169 + struct xfs_scrub *sc, 170 170 struct xfs_inode *ip_in, 171 171 int error) 172 172 { ··· 447 447 } 448 448 449 449 #ifdef CONFIG_XFS_ONLINE_REPAIR 450 - static inline void xchk_postmortem(struct xfs_scrub_context *sc) 450 + static inline void xchk_postmortem(struct xfs_scrub *sc) 451 451 { 452 452 /* 453 453 * Userspace asked us to repair something, we repaired it, rescanned ··· 460 460 xrep_failure(sc->mp); 461 461 } 462 462 #else 463 - static inline void xchk_postmortem(struct xfs_scrub_context *sc) 463 + static inline void xchk_postmortem(struct xfs_scrub *sc) 464 464 { 465 465 /* 466 466 * Userspace asked us to scrub something, it's broken, and we have no ··· 479 479 struct xfs_inode *ip, 480 480 struct xfs_scrub_metadata *sm) 481 481 { 482 - struct xfs_scrub_context sc; 482 + struct xfs_scrub sc; 483 483 struct xfs_mount *mp = ip->i_mount; 484 484 bool try_harder = false; 485 485 bool already_fixed = false;
+39 -39
fs/xfs/scrub/scrub.h
··· 6 6 #ifndef __XFS_SCRUB_SCRUB_H__ 7 7 #define __XFS_SCRUB_SCRUB_H__ 8 8 9 - struct xfs_scrub_context; 9 + struct xfs_scrub; 10 10 11 11 /* Type info and names for the scrub types. */ 12 12 enum xchk_type { ··· 18 18 19 19 struct xchk_meta_ops { 20 20 /* Acquire whatever resources are needed for the operation. */ 21 - int (*setup)(struct xfs_scrub_context *, 21 + int (*setup)(struct xfs_scrub *, 22 22 struct xfs_inode *); 23 23 24 24 /* Examine metadata for errors. */ 25 - int (*scrub)(struct xfs_scrub_context *); 25 + int (*scrub)(struct xfs_scrub *); 26 26 27 27 /* Repair or optimize the metadata. */ 28 - int (*repair)(struct xfs_scrub_context *); 28 + int (*repair)(struct xfs_scrub *); 29 29 30 30 /* Decide if we even have this piece of metadata. */ 31 31 bool (*has)(struct xfs_sb *); ··· 53 53 struct xfs_btree_cur *refc_cur; 54 54 }; 55 55 56 - struct xfs_scrub_context { 56 + struct xfs_scrub { 57 57 /* General scrub state. */ 58 58 struct xfs_mount *mp; 59 59 struct xfs_scrub_metadata *sm; ··· 70 70 }; 71 71 72 72 /* Metadata scrubbers */ 73 - int xchk_tester(struct xfs_scrub_context *sc); 74 - int xchk_superblock(struct xfs_scrub_context *sc); 75 - int xchk_agf(struct xfs_scrub_context *sc); 76 - int xchk_agfl(struct xfs_scrub_context *sc); 77 - int xchk_agi(struct xfs_scrub_context *sc); 78 - int xchk_bnobt(struct xfs_scrub_context *sc); 79 - int xchk_cntbt(struct xfs_scrub_context *sc); 80 - int xchk_inobt(struct xfs_scrub_context *sc); 81 - int xchk_finobt(struct xfs_scrub_context *sc); 82 - int xchk_rmapbt(struct xfs_scrub_context *sc); 83 - int xchk_refcountbt(struct xfs_scrub_context *sc); 84 - int xchk_inode(struct xfs_scrub_context *sc); 85 - int xchk_bmap_data(struct xfs_scrub_context *sc); 86 - int xchk_bmap_attr(struct xfs_scrub_context *sc); 87 - int xchk_bmap_cow(struct xfs_scrub_context *sc); 88 - int xchk_directory(struct xfs_scrub_context *sc); 89 - int xchk_xattr(struct xfs_scrub_context *sc); 90 - int xchk_symlink(struct xfs_scrub_context *sc); 91 - int xchk_parent(struct xfs_scrub_context *sc); 73 + int xchk_tester(struct xfs_scrub *sc); 74 + int xchk_superblock(struct xfs_scrub *sc); 75 + int xchk_agf(struct xfs_scrub *sc); 76 + int xchk_agfl(struct xfs_scrub *sc); 77 + int xchk_agi(struct xfs_scrub *sc); 78 + int xchk_bnobt(struct xfs_scrub *sc); 79 + int xchk_cntbt(struct xfs_scrub *sc); 80 + int xchk_inobt(struct xfs_scrub *sc); 81 + int xchk_finobt(struct xfs_scrub *sc); 82 + int xchk_rmapbt(struct xfs_scrub *sc); 83 + int xchk_refcountbt(struct xfs_scrub *sc); 84 + int xchk_inode(struct xfs_scrub *sc); 85 + int xchk_bmap_data(struct xfs_scrub *sc); 86 + int xchk_bmap_attr(struct xfs_scrub *sc); 87 + int xchk_bmap_cow(struct xfs_scrub *sc); 88 + int xchk_directory(struct xfs_scrub *sc); 89 + int xchk_xattr(struct xfs_scrub *sc); 90 + int xchk_symlink(struct xfs_scrub *sc); 91 + int xchk_parent(struct xfs_scrub *sc); 92 92 #ifdef CONFIG_XFS_RT 93 - int xchk_rtbitmap(struct xfs_scrub_context *sc); 94 - int xchk_rtsummary(struct xfs_scrub_context *sc); 93 + int xchk_rtbitmap(struct xfs_scrub *sc); 94 + int xchk_rtsummary(struct xfs_scrub *sc); 95 95 #else 96 96 static inline int 97 - xchk_rtbitmap(struct xfs_scrub_context *sc) 97 + xchk_rtbitmap(struct xfs_scrub *sc) 98 98 { 99 99 return -ENOENT; 100 100 } 101 101 static inline int 102 - xchk_rtsummary(struct xfs_scrub_context *sc) 102 + xchk_rtsummary(struct xfs_scrub *sc) 103 103 { 104 104 return -ENOENT; 105 105 } 106 106 #endif 107 107 #ifdef CONFIG_XFS_QUOTA 108 - int xchk_quota(struct xfs_scrub_context *sc); 108 + int xchk_quota(struct xfs_scrub *sc); 109 109 #else 110 110 static inline int 111 - xchk_quota(struct xfs_scrub_context *sc) 111 + xchk_quota(struct xfs_scrub *sc) 112 112 { 113 113 return -ENOENT; 114 114 } 115 115 #endif 116 116 117 117 /* cross-referencing helpers */ 118 - void xchk_xref_is_used_space(struct xfs_scrub_context *sc, 118 + void xchk_xref_is_used_space(struct xfs_scrub *sc, 119 119 xfs_agblock_t agbno, xfs_extlen_t len); 120 - void xchk_xref_is_not_inode_chunk(struct xfs_scrub_context *sc, 120 + void xchk_xref_is_not_inode_chunk(struct xfs_scrub *sc, 121 121 xfs_agblock_t agbno, xfs_extlen_t len); 122 - void xchk_xref_is_inode_chunk(struct xfs_scrub_context *sc, 122 + void xchk_xref_is_inode_chunk(struct xfs_scrub *sc, 123 123 xfs_agblock_t agbno, xfs_extlen_t len); 124 - void xchk_xref_is_owned_by(struct xfs_scrub_context *sc, 124 + void xchk_xref_is_owned_by(struct xfs_scrub *sc, 125 125 xfs_agblock_t agbno, xfs_extlen_t len, 126 126 struct xfs_owner_info *oinfo); 127 - void xchk_xref_is_not_owned_by(struct xfs_scrub_context *sc, 127 + void xchk_xref_is_not_owned_by(struct xfs_scrub *sc, 128 128 xfs_agblock_t agbno, xfs_extlen_t len, 129 129 struct xfs_owner_info *oinfo); 130 - void xchk_xref_has_no_owner(struct xfs_scrub_context *sc, 130 + void xchk_xref_has_no_owner(struct xfs_scrub *sc, 131 131 xfs_agblock_t agbno, xfs_extlen_t len); 132 - void xchk_xref_is_cow_staging(struct xfs_scrub_context *sc, 132 + void xchk_xref_is_cow_staging(struct xfs_scrub *sc, 133 133 xfs_agblock_t bno, xfs_extlen_t len); 134 - void xchk_xref_is_not_shared(struct xfs_scrub_context *sc, 134 + void xchk_xref_is_not_shared(struct xfs_scrub *sc, 135 135 xfs_agblock_t bno, xfs_extlen_t len); 136 136 #ifdef CONFIG_XFS_RT 137 - void xchk_xref_is_used_rt_space(struct xfs_scrub_context *sc, 137 + void xchk_xref_is_used_rt_space(struct xfs_scrub *sc, 138 138 xfs_rtblock_t rtbno, xfs_extlen_t len); 139 139 #else 140 140 # define xchk_xref_is_used_rt_space(sc, rtbno, len) do { } while (0)
+2 -2
fs/xfs/scrub/symlink.c
··· 26 26 /* Set us up to scrub a symbolic link. */ 27 27 int 28 28 xchk_setup_symlink( 29 - struct xfs_scrub_context *sc, 29 + struct xfs_scrub *sc, 30 30 struct xfs_inode *ip) 31 31 { 32 32 /* Allocate the buffer without the inode lock held. */ ··· 41 41 42 42 int 43 43 xchk_symlink( 44 - struct xfs_scrub_context *sc) 44 + struct xfs_scrub *sc) 45 45 { 46 46 struct xfs_inode *ip = sc->ip; 47 47 struct xfs_ifork *ifp;
+16 -16
fs/xfs/scrub/trace.h
··· 59 59 DEFINE_SCRUB_EVENT(xrep_done); 60 60 61 61 TRACE_EVENT(xchk_op_error, 62 - TP_PROTO(struct xfs_scrub_context *sc, xfs_agnumber_t agno, 62 + TP_PROTO(struct xfs_scrub *sc, xfs_agnumber_t agno, 63 63 xfs_agblock_t bno, int error, void *ret_ip), 64 64 TP_ARGS(sc, agno, bno, error, ret_ip), 65 65 TP_STRUCT__entry( ··· 88 88 ); 89 89 90 90 TRACE_EVENT(xchk_file_op_error, 91 - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, 91 + TP_PROTO(struct xfs_scrub *sc, int whichfork, 92 92 xfs_fileoff_t offset, int error, void *ret_ip), 93 93 TP_ARGS(sc, whichfork, offset, error, ret_ip), 94 94 TP_STRUCT__entry( ··· 120 120 ); 121 121 122 122 DECLARE_EVENT_CLASS(xchk_block_error_class, 123 - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, void *ret_ip), 123 + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, void *ret_ip), 124 124 TP_ARGS(sc, daddr, ret_ip), 125 125 TP_STRUCT__entry( 126 126 __field(dev_t, dev) ··· 154 154 155 155 #define DEFINE_SCRUB_BLOCK_ERROR_EVENT(name) \ 156 156 DEFINE_EVENT(xchk_block_error_class, name, \ 157 - TP_PROTO(struct xfs_scrub_context *sc, xfs_daddr_t daddr, \ 157 + TP_PROTO(struct xfs_scrub *sc, xfs_daddr_t daddr, \ 158 158 void *ret_ip), \ 159 159 TP_ARGS(sc, daddr, ret_ip)) 160 160 ··· 162 162 DEFINE_SCRUB_BLOCK_ERROR_EVENT(xchk_block_preen); 163 163 164 164 DECLARE_EVENT_CLASS(xchk_ino_error_class, 165 - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, void *ret_ip), 165 + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, void *ret_ip), 166 166 TP_ARGS(sc, ino, ret_ip), 167 167 TP_STRUCT__entry( 168 168 __field(dev_t, dev) ··· 185 185 186 186 #define DEFINE_SCRUB_INO_ERROR_EVENT(name) \ 187 187 DEFINE_EVENT(xchk_ino_error_class, name, \ 188 - TP_PROTO(struct xfs_scrub_context *sc, xfs_ino_t ino, \ 188 + TP_PROTO(struct xfs_scrub *sc, xfs_ino_t ino, \ 189 189 void *ret_ip), \ 190 190 TP_ARGS(sc, ino, ret_ip)) 191 191 ··· 194 194 DEFINE_SCRUB_INO_ERROR_EVENT(xchk_ino_warning); 195 195 196 196 DECLARE_EVENT_CLASS(xchk_fblock_error_class, 197 - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, 197 + TP_PROTO(struct xfs_scrub *sc, int whichfork, 198 198 xfs_fileoff_t offset, void *ret_ip), 199 199 TP_ARGS(sc, whichfork, offset, ret_ip), 200 200 TP_STRUCT__entry( ··· 224 224 225 225 #define DEFINE_SCRUB_FBLOCK_ERROR_EVENT(name) \ 226 226 DEFINE_EVENT(xchk_fblock_error_class, name, \ 227 - TP_PROTO(struct xfs_scrub_context *sc, int whichfork, \ 227 + TP_PROTO(struct xfs_scrub *sc, int whichfork, \ 228 228 xfs_fileoff_t offset, void *ret_ip), \ 229 229 TP_ARGS(sc, whichfork, offset, ret_ip)) 230 230 ··· 232 232 DEFINE_SCRUB_FBLOCK_ERROR_EVENT(xchk_fblock_warning); 233 233 234 234 TRACE_EVENT(xchk_incomplete, 235 - TP_PROTO(struct xfs_scrub_context *sc, void *ret_ip), 235 + TP_PROTO(struct xfs_scrub *sc, void *ret_ip), 236 236 TP_ARGS(sc, ret_ip), 237 237 TP_STRUCT__entry( 238 238 __field(dev_t, dev) ··· 251 251 ); 252 252 253 253 TRACE_EVENT(xchk_btree_op_error, 254 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 254 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 255 255 int level, int error, void *ret_ip), 256 256 TP_ARGS(sc, cur, level, error, ret_ip), 257 257 TP_STRUCT__entry( ··· 291 291 ); 292 292 293 293 TRACE_EVENT(xchk_ifork_btree_op_error, 294 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 294 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 295 295 int level, int error, void *ret_ip), 296 296 TP_ARGS(sc, cur, level, error, ret_ip), 297 297 TP_STRUCT__entry( ··· 336 336 ); 337 337 338 338 TRACE_EVENT(xchk_btree_error, 339 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 339 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 340 340 int level, void *ret_ip), 341 341 TP_ARGS(sc, cur, level, ret_ip), 342 342 TP_STRUCT__entry( ··· 372 372 ); 373 373 374 374 TRACE_EVENT(xchk_ifork_btree_error, 375 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 375 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 376 376 int level, void *ret_ip), 377 377 TP_ARGS(sc, cur, level, ret_ip), 378 378 TP_STRUCT__entry( ··· 414 414 ); 415 415 416 416 DECLARE_EVENT_CLASS(xchk_sbtree_class, 417 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, 417 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, 418 418 int level), 419 419 TP_ARGS(sc, cur, level), 420 420 TP_STRUCT__entry( ··· 451 451 ) 452 452 #define DEFINE_SCRUB_SBTREE_EVENT(name) \ 453 453 DEFINE_EVENT(xchk_sbtree_class, name, \ 454 - TP_PROTO(struct xfs_scrub_context *sc, struct xfs_btree_cur *cur, \ 454 + TP_PROTO(struct xfs_scrub *sc, struct xfs_btree_cur *cur, \ 455 455 int level), \ 456 456 TP_ARGS(sc, cur, level)) 457 457 ··· 459 459 DEFINE_SCRUB_SBTREE_EVENT(xchk_btree_key); 460 460 461 461 TRACE_EVENT(xchk_xref_error, 462 - TP_PROTO(struct xfs_scrub_context *sc, int error, void *ret_ip), 462 + TP_PROTO(struct xfs_scrub *sc, int error, void *ret_ip), 463 463 TP_ARGS(sc, error, ret_ip), 464 464 TP_STRUCT__entry( 465 465 __field(dev_t, dev)