summaryrefslogtreecommitdiff
path: root/fs/xfs/scrub/agheader_repair.c
diff options
context:
space:
mode:
authorDarrick J. Wong <djwong@kernel.org>2021-09-01 10:40:19 -0700
committerDarrick J. Wong <djwong@kernel.org>2021-09-17 18:54:50 -0700
commit6e69b5037a12f7d03ae04356fbb05e02e2dd7d60 (patch)
treee8b7f24afc6cd0edd5db1a8953b96123b170b9d5 /fs/xfs/scrub/agheader_repair.c
parent1ff1d3cd823addd5476db62911c18a3655bca2be (diff)
xfs: convert xbitmap to interval treerepair-bitmap-rework_2021-09-17
Convert the xbitmap code to use interval trees instead of linked lists. This reduces the amount of coding required to handle the disunion operation and in the future will make it easier to set bits in arbitrary order yet later be able to extract maximally sized extents, which we'll need for rebuilding certain structures. We define our own interval tree type so that it can deal with 64-bit indices even on 32-bit machines. Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/scrub/agheader_repair.c')
-rw-r--r--fs/xfs/scrub/agheader_repair.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/xfs/scrub/agheader_repair.c b/fs/xfs/scrub/agheader_repair.c
index 35e7bf6ba93c..6bc11471e949 100644
--- a/fs/xfs/scrub/agheader_repair.c
+++ b/fs/xfs/scrub/agheader_repair.c
@@ -518,10 +518,8 @@ xrep_agfl_collect_blocks(
* Drop the freesp meta blocks that are in use by btrees.
* The remaining blocks /should/ be AGFL blocks.
*/
- error = xbitmap_disunion(agfl_extents, &ra.agmetablocks);
+ xbitmap_disunion(agfl_extents, &ra.agmetablocks);
xbitmap_destroy(&ra.agmetablocks);
- if (error)
- return error;
/*
* Calculate the new AGFL size. If we found more blocks than fit in