diff options
author | Dave Chinner <dchinner@redhat.com> | 2023-02-11 04:11:06 +1100 |
---|---|---|
committer | Dave Chinner <dchinner@redhat.com> | 2023-02-11 04:11:06 +1100 |
commit | 692b6cddeb65a5170c1e63d25b1ffb7822e80f7d (patch) | |
tree | f900390ee9a61274d1edd405cdf53f2c13e8b35b /fs/xfs/xfs_trace.h | |
parent | 36b6ad2d9cb81b0d52ae1598286ca5809cd39003 (diff) | |
download | lwn-692b6cddeb65a5170c1e63d25b1ffb7822e80f7d.tar.gz lwn-692b6cddeb65a5170c1e63d25b1ffb7822e80f7d.zip |
xfs: t_firstblock is tracking AGs not blocks
The tp->t_firstblock field is now raelly tracking the highest AG we
have locked, not the block number of the highest allocation we've
made. It's purpose is to prevent AGF locking deadlocks, so rename it
to "highest AG" and simplify the implementation to just track the
agno rather than a fsbno.
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Allison Henderson <allison.henderson@oracle.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Diffstat (limited to 'fs/xfs/xfs_trace.h')
-rw-r--r-- | fs/xfs/xfs_trace.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h index adddaeb44a56..2ac98d8ddbfd 100644 --- a/fs/xfs/xfs_trace.h +++ b/fs/xfs/xfs_trace.h @@ -1801,7 +1801,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, __field(char, wasfromfl) __field(int, resv) __field(int, datatype) - __field(xfs_fsblock_t, firstblock) + __field(xfs_agnumber_t, highest_agno) ), TP_fast_assign( __entry->dev = args->mp->m_super->s_dev; @@ -1822,12 +1822,12 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, __entry->wasfromfl = args->wasfromfl; __entry->resv = args->resv; __entry->datatype = args->datatype; - __entry->firstblock = args->tp->t_firstblock; + __entry->highest_agno = args->tp->t_highest_agno; ), TP_printk("dev %d:%d agno 0x%x agbno 0x%x minlen %u maxlen %u mod %u " "prod %u minleft %u total %u alignment %u minalignslop %u " "len %u type %s otype %s wasdel %d wasfromfl %d resv %d " - "datatype 0x%x firstblock 0x%llx", + "datatype 0x%x highest_agno 0x%x", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->agno, __entry->agbno, @@ -1846,7 +1846,7 @@ DECLARE_EVENT_CLASS(xfs_alloc_class, __entry->wasfromfl, __entry->resv, __entry->datatype, - (unsigned long long)__entry->firstblock) + __entry->highest_agno) ) #define DEFINE_ALLOC_EVENT(name) \ |