linux/fs/xfs/scrub
Darrick J. Wong e4fd1def30 xfs: create agblock bitmap helper to count the number of set regions
In the next patch, the rmap btree repair code will need to estimate the
size of the new ondisk rmapbt.  The size is a function of the number of
records that will be written to disk, and the size of the recordset is
the number of observations made while scanning the filesystem plus the
number of OWN_AG records that will be injected into the rmap btree.

OWN_AG rmap records track the free space btrees, the AGFL, and the new
rmap btree itself.  The repair tool uses a bitmap to record the space
used for all four structures, which is why we need a function to count
the number of set regions.

A reviewer requested that this be pulled into a separate patch with its
own justification, so here it is.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2024-02-22 12:43:37 -08:00
..
agb_bitmap.c xfs: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -08:00
agb_bitmap.h xfs: create agblock bitmap helper to count the number of set regions 2024-02-22 12:43:37 -08:00
agheader_repair.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
agheader.c xfs: split the agf_roots and agf_levels arrays 2024-02-22 12:39:46 -08:00
alloc_repair.c xfs: split xfs_allocbt_init_cursor 2024-02-22 12:40:12 -08:00
alloc.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
attr.c xfs: remove struct xfs_attr_shortform 2023-12-29 13:37:05 +05:30
attr.h xfs: check used space of shortform xattr structures 2023-04-11 19:00:33 -07:00
bitmap.c xfs: create agblock bitmap helper to count the number of set regions 2024-02-22 12:43:37 -08:00
bitmap.h xfs: create agblock bitmap helper to count the number of set regions 2024-02-22 12:43:37 -08:00
bmap_repair.c xfs: remove xfs_bmbt_stage_cursor 2024-02-22 12:39:45 -08:00
bmap.c xfs: create a helper to decide if a file mapping targets the rt volume 2024-02-22 12:43:36 -08:00
btree.c xfs: consolidate btree block verification 2024-02-22 12:40:57 -08:00
btree.h overflow: Add struct_size_t() helper 2023-05-26 13:52:19 -07:00
common.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
common.h xfs: teach scrub to check file nlinks 2024-02-22 12:30:58 -08:00
cow_repair.c xfs: convert remaining kmem_free() to kfree() 2024-02-13 18:07:34 +05:30
dabtree.c xfs: scrub should use ECHRNG to signal that the drain is needed 2023-04-11 19:00:00 -07:00
dabtree.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00
dir.c xfs: create a predicate to determine if two xfs_names are the same 2024-02-22 12:30:49 -08:00
dqiterate.c xfs: improve dquot iteration for scrub 2023-12-15 10:03:45 -08:00
fsb_bitmap.h xfs: reintroduce reaping of file metadata blocks to xrep_reap_extents 2023-12-15 10:03:38 -08:00
fscounters_repair.c xfs: repair summary counters 2024-02-22 12:33:05 -08:00
fscounters.c xfs: repair summary counters 2024-02-22 12:33:05 -08:00
fscounters.h xfs: repair summary counters 2024-02-22 12:33:05 -08:00
health.c xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init 2024-02-22 12:39:48 -08:00
health.h xfs: refactor the btree cursor allocation logic in xchk_ag_btcur_init 2024-02-22 12:39:48 -08:00
ialloc_repair.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
ialloc.c xfs: remove xfs_btnum_t 2024-02-22 12:40:51 -08:00
inode_repair.c xfs: repair file modes by scanning for a dirent pointing to us 2024-02-22 12:30:51 -08:00
inode.c xfs: repair inode records 2023-12-15 10:03:36 -08:00
iscan.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
iscan.h xfs: repair file modes by scanning for a dirent pointing to us 2024-02-22 12:30:51 -08:00
newbt.c xfs: store the btree pointer length in struct xfs_btree_ops 2024-02-22 12:35:36 -08:00
newbt.h xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
nlinks_repair.c xfs: teach repair to fix file nlinks 2024-02-22 12:31:00 -08:00
nlinks.c xfs: teach repair to fix file nlinks 2024-02-22 12:31:00 -08:00
nlinks.h xfs: teach repair to fix file nlinks 2024-02-22 12:31:00 -08:00
off_bitmap.h xfs: repair problems in CoW forks 2023-12-15 10:03:40 -08:00
parent.c xfs: abort directory parent scrub scans if we encounter a zapped directory 2023-12-15 10:03:37 -08:00
quota_repair.c xfs: repair quotas 2023-12-15 10:03:45 -08:00
quota.c xfs: repair quotas 2023-12-15 10:03:45 -08:00
quota.h xfs: repair quotas 2023-12-15 10:03:45 -08:00
quotacheck_repair.c xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
quotacheck.c xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
quotacheck.h xfs: repair dquots based on live quotacheck results 2024-02-22 12:30:57 -08:00
readdir.c xfs: Replace xfs_isilocked with xfs_assert_ilocked 2024-02-19 21:19:33 +05:30
readdir.h xfs: streamline the directory iteration code for scrub 2023-04-11 19:00:17 -07:00
reap.c xfs: repair problems in CoW forks 2023-12-15 10:03:40 -08:00
reap.h xfs: reintroduce reaping of file metadata blocks to xrep_reap_extents 2023-12-15 10:03:38 -08:00
refcount_repair.c xfs: remove xfs_refcountbt_stage_cursor 2024-02-22 12:39:40 -08:00
refcount.c xfs: repair refcount btrees 2023-12-15 10:03:33 -08:00
repair.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
repair.h xfs: repair summary counters 2024-02-22 12:33:05 -08:00
rmap.c xfs: split xfs_inobt_init_cursor 2024-02-22 12:40:49 -08:00
rtbitmap_repair.c xfs: online repair of realtime bitmaps 2023-12-15 10:03:43 -08:00
rtbitmap.c xfs: remove conditional building of rt geometry validator functions 2024-01-30 14:04:43 +05:30
rtbitmap.h xfs: online repair of realtime bitmaps 2023-12-15 10:03:43 -08:00
rtsummary.c xfs: remove the xfile_pread/pwrite APIs 2024-02-21 11:36:53 +05:30
scrub.c xfs: support in-memory btrees 2024-02-22 12:43:35 -08:00
scrub.h xfs: support in-memory btrees 2024-02-22 12:43:35 -08:00
stats.c xfs: teach scrub to check file nlinks 2024-02-22 12:30:58 -08:00
stats.h xfs: track usage statistics of online fsck 2023-08-10 07:48:07 -07:00
symlink.c xfs: make if_data a void pointer 2023-12-29 13:37:03 +05:30
trace.c xfs: split out a btree type from the btree ops geometry flags 2024-02-22 12:36:17 -08:00
trace.h xfs: remove xfs_btnum_t 2024-02-22 12:40:51 -08:00
xfarray.c xfs: convert xfarray_pagesort to deal with large folios 2024-02-21 11:36:55 +05:30
xfarray.h xfs: create a sparse load xfarray function 2024-02-22 12:30:54 -08:00
xfile.c xfs: remove xfile_{get,put}_page 2024-02-21 11:36:56 +05:30
xfile.h xfs: remove xfile_{get,put}_page 2024-02-21 11:36:56 +05:30
xfs_scrub.h xfs: update copyright years for scrub/ files 2023-04-11 18:59:57 -07:00