linux/fs/xfs/scrub
Darrick J. Wong 75efa57d0b xfs: add online scrub for superblock counters
Teach online scrub how to check the filesystem summary counters.  We use
the incore delalloc block counter along with the incore AG headers to
compute expected values for fdblocks, icount, and ifree, and then check
that the percpu counter is within a certain threshold of the expected
value.  This is done to avoid having to freeze or otherwise lock the
filesystem, which means that we're only checking that the counters are
fairly close, not that they're exactly correct.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
2019-04-30 08:19:13 -07:00
..
agheader_repair.c xfs: use buf ops magic to detect btree block type 2019-02-11 16:07:01 -08:00
agheader.c xfs: scrub should check incore counters against ondisk headers 2019-04-26 12:28:56 -07:00
alloc.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
attr.c xfs: check attribute name validity 2019-02-11 16:06:40 -08:00
bitmap.c xfs: repair the AGFL 2018-08-10 11:44:31 -07:00
bitmap.h xfs: repair the AGFL 2018-08-10 11:44:31 -07:00
bmap.c xfs: scrub should flag dir/attr offsets that aren't mappable with xfs_dablk_t 2019-02-11 16:06:40 -08:00
btree.c xfs: fix btree scrub checking with regards to root-in-inode 2019-03-19 08:16:41 -07:00
btree.h xfs: const-ify xfs_owner_info arguments 2018-12-12 08:47:16 -08:00
common.c xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
common.h xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
dabtree.c xfs: dabtree scrub needs to range-check level 2019-03-19 08:16:21 -07:00
dabtree.h xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
dir.c xfs: check directory name validity 2019-02-11 16:06:40 -08:00
fscounters.c xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
health.c xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
health.h xfs: scrub should only cross-reference with healthy btrees 2019-04-16 10:01:57 -07:00
ialloc.c xfs: collapse scrub bool state flags into a single unsigned int 2019-04-16 10:01:57 -07:00
inode.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
parent.c xfs: collapse scrub bool state flags into a single unsigned int 2019-04-16 10:01:57 -07:00
quota.c xfs: collapse scrub bool state flags into a single unsigned int 2019-04-16 10:01:57 -07:00
refcount.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
repair.c xfs: fix broken bhold behavior in xrep_roll_ag_trans 2019-04-26 12:28:55 -07:00
repair.h xfs: hoist the already_fixed variable to the scrub context 2019-04-16 10:01:57 -07:00
rmap.c xfs: remove xfs_rmap_ag_owner and friends 2018-12-12 08:47:16 -08:00
rtbitmap.c xfs: fix off-by-one error in rtbitmap cross-reference 2019-02-11 16:06:40 -08:00
scrub.c xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
scrub.h xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
symlink.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
trace.c xfs: fix indentation and other whitespace problems in scrub/repair 2018-07-23 09:08:01 -07:00
trace.h xfs: add online scrub for superblock counters 2019-04-30 08:19:13 -07:00
xfs_scrub.h xfs: convert to SPDX license tags 2018-06-06 14:17:53 -07:00