diff options
author | Darrick J. Wong <djwong@kernel.org> | 2021-01-05 17:43:26 -0800 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2021-08-25 22:25:51 -0700 |
commit | 74d95e727268420135820467c829a62ae94c403e (patch) | |
tree | a5b7b646e3b1bd3e450e3081838c8a8027a4ef22 /fs/xfs/scrub/agheader_repair.c | |
parent | 9ce1de42246798b74f6521f403713706e2300775 (diff) |
xfs: convert xbitmap to interval treerepair-bitmap-rework_2021-08-25
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.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/xfs/scrub/agheader_repair.c b/fs/xfs/scrub/agheader_repair.c index 58d9186d5cde..96d4b11cdace 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 |