linux/fs/xfs/scrub
Darrick J. Wong fd9c7f7722 xfs: encode the btree geometry flags in the btree ops structure
Certain btree flags never change for the life of a btree cursor because
they describe the geometry of the btree itself.  Encode these in the
btree ops structure and reduce the amount of code required in each btree
type's init_cursor functions.  This also frees up most of the bits in
bc_flags.

A previous version of this patch also converted the open-coded flags
logic to helpers.  This was removed due to the pending refactoring (that
follows this patch) to eliminate most of the state flags.

Conversion script:

sed \
 -e 's/XFS_BTREE_LONG_PTRS/XFS_BTGEO_LONG_PTRS/g' \
 -e 's/XFS_BTREE_ROOT_IN_INODE/XFS_BTGEO_ROOT_IN_INODE/g' \
 -e 's/XFS_BTREE_LASTREC_UPDATE/XFS_BTGEO_LASTREC_UPDATE/g' \
 -e 's/XFS_BTREE_OVERLAPPING/XFS_BTGEO_OVERLAPPING/g' \
 -e 's/cur->bc_flags & XFS_BTGEO_/cur->bc_ops->geom_flags \& XFS_BTGEO_/g' \
 -i $(git ls-files fs/xfs/*.[ch] fs/xfs/libxfs/*.[ch] fs/xfs/scrub/*.[ch])

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
2024-02-22 12:34:29 -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: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -08:00
agheader.c xfs: teach scrub to check for sole ownership of metadata objects 2023-04-11 19:00:15 -07:00
agheader_repair.c xfs: roll the scrub transaction after completing a repair 2023-12-15 10:03:31 -08:00
alloc.c xfs: repair free space btrees 2023-12-15 10:03:32 -08:00
alloc_repair.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: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -08:00
bitmap.h xfs: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -08:00
bmap.c xfs: repair inode fork block mapping data structures 2023-12-15 10:03:39 -08:00
bmap_repair.c xfs: repair the inode core and forks of a metadata inode 2023-12-15 10:03:42 -08:00
btree.c xfs: encode the btree geometry flags in the btree ops structure 2024-02-22 12:34:29 -08:00
btree.h overflow: Add struct_size_t() helper 2023-05-26 13:52:19 -07:00
common.c xfs: track directory entry updates during live nlinks fsck 2024-02-22 12:30:59 -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.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
fscounters_repair.c xfs: repair summary counters 2024-02-22 12:33:05 -08:00
health.c xfs: update health status if we get a clean bill of health 2024-02-22 12:33:04 -08:00
health.h xfs: update health status if we get a clean bill of health 2024-02-22 12:33:04 -08:00
ialloc.c xfs: repair inode btrees 2023-12-15 10:03:32 -08:00
ialloc_repair.c xfs: disable sparse inode chunk alignment check when there is no alignment 2024-02-17 09:18:53 +05:30
inode.c xfs: repair inode records 2023-12-15 10:03:36 -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
iscan.c xfs: repair file modes by scanning for a dirent pointing to us 2024-02-22 12:30:51 -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: encode the btree geometry flags in the btree ops structure 2024-02-22 12:34:29 -08:00
newbt.h xfs: repair free space btrees 2023-12-15 10:03:32 -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
nlinks_repair.c 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.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
quota_repair.c xfs: repair quotas 2023-12-15 10:03:45 -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
quotacheck_repair.c 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.c xfs: repair refcount btrees 2023-12-15 10:03:33 -08:00
refcount_repair.c xfs: report XFS_IS_CORRUPT errors to the health system 2024-02-22 12:32:55 -08:00
repair.c xfs: update health status if we get a clean bill of health 2024-02-22 12:33:04 -08:00
repair.h xfs: repair summary counters 2024-02-22 12:33:05 -08:00
rmap.c xfs: move the per-AG datatype bitmaps to separate files 2023-12-15 10:03:30 -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
rtbitmap_repair.c 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: repair summary counters 2024-02-22 12:33:05 -08:00
scrub.h xfs: track directory entry updates during live nlinks fsck 2024-02-22 12:30:59 -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: encode the btree geometry flags in the btree ops structure 2024-02-22 12:34:29 -08:00
trace.h xfs: repair summary counters 2024-02-22 12:33:05 -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