summaryrefslogtreecommitdiffstats
path: root/fs/xfs/libxfs/xfs_types.h
diff options
context:
space:
mode:
authorDarrick J. Wong <darrick.wong@oracle.com>2019-04-25 18:26:24 -0700
committerDarrick J. Wong <darrick.wong@oracle.com>2019-04-30 08:19:13 -0700
commit75efa57d0bf5fcf650a183f0ce0dc011ba8c4bc8 (patch)
treed6dfd62d2680be7cdb73e61e857e833f12ae0a78 /fs/xfs/libxfs/xfs_types.h
parent94079285756d66b1aded4e36d35452cb1f9c953a (diff)
downloadlinux-stable-75efa57d0bf5fcf650a183f0ce0dc011ba8c4bc8.tar.gz
linux-stable-75efa57d0bf5fcf650a183f0ce0dc011ba8c4bc8.tar.bz2
linux-stable-75efa57d0bf5fcf650a183f0ce0dc011ba8c4bc8.zip
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>
Diffstat (limited to 'fs/xfs/libxfs/xfs_types.h')
-rw-r--r--fs/xfs/libxfs/xfs_types.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_types.h b/fs/xfs/libxfs/xfs_types.h
index c5a25403b4db..802b34cd10fe 100644
--- a/fs/xfs/libxfs/xfs_types.h
+++ b/fs/xfs/libxfs/xfs_types.h
@@ -191,5 +191,7 @@ bool xfs_verify_dir_ino(struct xfs_mount *mp, xfs_ino_t ino);
bool xfs_verify_rtbno(struct xfs_mount *mp, xfs_rtblock_t rtbno);
bool xfs_verify_icount(struct xfs_mount *mp, unsigned long long icount);
bool xfs_verify_dablk(struct xfs_mount *mp, xfs_fileoff_t off);
+void xfs_icount_range(struct xfs_mount *mp, unsigned long long *min,
+ unsigned long long *max);
#endif /* __XFS_TYPES_H__ */