summaryrefslogtreecommitdiff
tag namescrub-detect-refcount-gaps-6.4_2023-04-12 (a91406a91019fd48f43167f12298277886c36e07)
tag date2023-04-12 17:40:13 -0700
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 7ac14fa2bd...
xfs: detect incorrect gaps in refcount btree [v24.5]
The next few patchsets address a deficiency in scrub that I found while QAing the refcount btree scrubber. If there's a gap between refcount records, we need to cross-reference that gap with the reverse mappings to ensure that there are no overlapping records in the rmap btree. If we find any, then the refcount btree is not consistent. This is not a property that is specific to the refcount btree; they all need to have this sort of keyspace scanning logic to detect inconsistencies. To do this accurately, we need to be able to scan the keyspace of a btree (which we already do) to be able to tell the caller if the keyspace is empty, sparse, or fully covered by records. The first few patches add the keyspace scanner to the generic btree code, along with the ability to mask off parts of btree keys because when we scan the rmapbt, we only care about space usage, not the owners. The final patch closes the scanning gap in the refcountbt scanner. v23.1: create helpers for the key extraction and comparison functions, improve documentation, and eliminate the ->mask_key indirect calls Signed-off-by: Darrick J. Wong <djwong@kernel.org> -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQQ2qTKExjcn+O1o2YRKO3ySh0YRpgUCZDdPbQAKCRBKO3ySh0YR pqAHAP44dbr8cD486qe4w5O36D2KccRI9HJ5/ZX65FY345aaMwEA3IOgN9mcIvCJ t3M/TG1plDOy0zKJFmktfoSiGnes5Qo= =SqhI -----END PGP SIGNATURE-----