hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/fs/xfs/scrub/refcount.c
....@@ -7,22 +7,12 @@
77 #include "xfs_fs.h"
88 #include "xfs_shared.h"
99 #include "xfs_format.h"
10
-#include "xfs_trans_resv.h"
11
-#include "xfs_mount.h"
12
-#include "xfs_defer.h"
1310 #include "xfs_btree.h"
14
-#include "xfs_bit.h"
15
-#include "xfs_log_format.h"
16
-#include "xfs_trans.h"
17
-#include "xfs_sb.h"
18
-#include "xfs_alloc.h"
1911 #include "xfs_rmap.h"
2012 #include "xfs_refcount.h"
21
-#include "scrub/xfs_scrub.h"
2213 #include "scrub/scrub.h"
2314 #include "scrub/common.h"
2415 #include "scrub/btree.h"
25
-#include "scrub/trace.h"
2616
2717 /*
2818 * Set us up to scrub reference count btrees.
....@@ -344,12 +334,11 @@
344334 {
345335 struct xfs_mount *mp = bs->cur->bc_mp;
346336 xfs_agblock_t *cow_blocks = bs->private;
347
- xfs_agnumber_t agno = bs->cur->bc_private.a.agno;
337
+ xfs_agnumber_t agno = bs->cur->bc_ag.agno;
348338 xfs_agblock_t bno;
349339 xfs_extlen_t len;
350340 xfs_nlink_t refcount;
351341 bool has_cowflag;
352
- int error = 0;
353342
354343 bno = be32_to_cpu(rec->refc.rc_startblock);
355344 len = be32_to_cpu(rec->refc.rc_blockcount);
....@@ -374,14 +363,13 @@
374363
375364 xchk_refcountbt_xref(bs->sc, bno, len, refcount);
376365
377
- return error;
366
+ return 0;
378367 }
379368
380369 /* Make sure we have as many refc blocks as the rmap says. */
381370 STATIC void
382371 xchk_refcount_xref_rmap(
383372 struct xfs_scrub *sc,
384
- struct xfs_owner_info *oinfo,
385373 xfs_filblks_t cow_blocks)
386374 {
387375 xfs_extlen_t refcbt_blocks = 0;
....@@ -395,17 +383,16 @@
395383 error = xfs_btree_count_blocks(sc->sa.refc_cur, &refcbt_blocks);
396384 if (!xchk_btree_process_error(sc, sc->sa.refc_cur, 0, &error))
397385 return;
398
- error = xchk_count_rmap_ownedby_ag(sc, sc->sa.rmap_cur, oinfo,
399
- &blocks);
386
+ error = xchk_count_rmap_ownedby_ag(sc, sc->sa.rmap_cur,
387
+ &XFS_RMAP_OINFO_REFC, &blocks);
400388 if (!xchk_should_check_xref(sc, &error, &sc->sa.rmap_cur))
401389 return;
402390 if (blocks != refcbt_blocks)
403391 xchk_btree_xref_set_corrupt(sc, sc->sa.rmap_cur, 0);
404392
405393 /* Check that we saw as many cow blocks as the rmap knows about. */
406
- xfs_rmap_ag_owner(oinfo, XFS_RMAP_OWN_COW);
407
- error = xchk_count_rmap_ownedby_ag(sc, sc->sa.rmap_cur, oinfo,
408
- &blocks);
394
+ error = xchk_count_rmap_ownedby_ag(sc, sc->sa.rmap_cur,
395
+ &XFS_RMAP_OINFO_COW, &blocks);
409396 if (!xchk_should_check_xref(sc, &error, &sc->sa.rmap_cur))
410397 return;
411398 if (blocks != cow_blocks)
....@@ -417,17 +404,15 @@
417404 xchk_refcountbt(
418405 struct xfs_scrub *sc)
419406 {
420
- struct xfs_owner_info oinfo;
421407 xfs_agblock_t cow_blocks = 0;
422408 int error;
423409
424
- xfs_rmap_ag_owner(&oinfo, XFS_RMAP_OWN_REFC);
425410 error = xchk_btree(sc, sc->sa.refc_cur, xchk_refcountbt_rec,
426
- &oinfo, &cow_blocks);
411
+ &XFS_RMAP_OINFO_REFC, &cow_blocks);
427412 if (error)
428413 return error;
429414
430
- xchk_refcount_xref_rmap(sc, &oinfo, cow_blocks);
415
+ xchk_refcount_xref_rmap(sc, cow_blocks);
431416
432417 return 0;
433418 }