diff options
author | Darrick J. Wong <djwong@kernel.org> | 2024-02-22 23:33:05 +0300 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2024-02-22 23:33:05 +0300 |
commit | 4ed080cd7cb077bbb4b64f0712be1618c9d55a0d (patch) | |
tree | ae58915d05428b70e9b0f64e1966e9a5daf28234 /fs/xfs/scrub/trace.h | |
parent | a1f3e0cca41036c3c66abb6a2ed8fedc214e9a4c (diff) | |
download | linux-4ed080cd7cb077bbb4b64f0712be1618c9d55a0d.tar.xz |
xfs: repair summary counters
Use the same summary counter calculation infrastructure to generate new
values for the in-core summary counters. The difference between the
scrubber and the repairer is that the repairer will freeze the fs during
setup, which means that the values should match exactly.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'fs/xfs/scrub/trace.h')
-rw-r--r-- | fs/xfs/scrub/trace.h | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/fs/xfs/scrub/trace.h b/fs/xfs/scrub/trace.h index b4e65f148e7b..1e448d0c5aee 100644 --- a/fs/xfs/scrub/trace.h +++ b/fs/xfs/scrub/trace.h @@ -24,6 +24,7 @@ struct xfarray_sortinfo; struct xchk_dqiter; struct xchk_iscan; struct xchk_nlink; +struct xchk_fscounters; /* * ftrace's __print_symbolic requires that all enum values be wrapped in the @@ -1804,16 +1805,28 @@ TRACE_EVENT(xrep_calc_ag_resblks_btsize, __entry->refcbt_sz) ) TRACE_EVENT(xrep_reset_counters, - TP_PROTO(struct xfs_mount *mp), - TP_ARGS(mp), + TP_PROTO(struct xfs_mount *mp, struct xchk_fscounters *fsc), + TP_ARGS(mp, fsc), TP_STRUCT__entry( __field(dev_t, dev) + __field(uint64_t, icount) + __field(uint64_t, ifree) + __field(uint64_t, fdblocks) + __field(uint64_t, frextents) ), TP_fast_assign( __entry->dev = mp->m_super->s_dev; + __entry->icount = fsc->icount; + __entry->ifree = fsc->ifree; + __entry->fdblocks = fsc->fdblocks; + __entry->frextents = fsc->frextents; ), - TP_printk("dev %d:%d", - MAJOR(__entry->dev), MINOR(__entry->dev)) + TP_printk("dev %d:%d icount %llu ifree %llu fdblocks %llu frextents %llu", + MAJOR(__entry->dev), MINOR(__entry->dev), + __entry->icount, + __entry->ifree, + __entry->fdblocks, + __entry->frextents) ) DECLARE_EVENT_CLASS(xrep_newbt_extent_class, |