mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 03:27:30 -04:00
btrfs: tracepoints: add trace event for transaction aborts
While tracing it's useful to know not just when a transaction is committed but also when one is aborted. So add a trace event for transaction aborts. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: Filipe Manana <fdmanana@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
committed by
David Sterba
parent
889ad3845a
commit
b4bbe7d759
@@ -2731,6 +2731,7 @@ void __cold __btrfs_abort_transaction(struct btrfs_trans_handle *trans,
|
||||
|
||||
WRITE_ONCE(trans->aborted, error);
|
||||
WRITE_ONCE(trans->transaction->aborted, error);
|
||||
trace_btrfs_transaction_abort(trans);
|
||||
if (first_hit) {
|
||||
btrfs_err(fs_info, "Transaction %llu aborted (error %d)",
|
||||
trans->transid, error);
|
||||
|
||||
@@ -201,6 +201,28 @@ TRACE_EVENT(btrfs_transaction_commit,
|
||||
__entry->in_fsync)
|
||||
);
|
||||
|
||||
TRACE_EVENT(btrfs_transaction_abort,
|
||||
|
||||
TP_PROTO(const struct btrfs_trans_handle *trans),
|
||||
|
||||
TP_ARGS(trans),
|
||||
|
||||
TP_STRUCT__entry_btrfs(
|
||||
__field( u64, generation )
|
||||
__field( bool, in_fsync )
|
||||
__field( int, error )
|
||||
),
|
||||
|
||||
TP_fast_assign_btrfs(trans->fs_info,
|
||||
__entry->generation = trans->transid;
|
||||
__entry->in_fsync = trans->in_fsync;
|
||||
__entry->error = trans->aborted;
|
||||
),
|
||||
|
||||
TP_printk_btrfs("gen=%llu in_fsync=%d error=%d", __entry->generation,
|
||||
__entry->in_fsync, __entry->error)
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(btrfs__inode,
|
||||
|
||||
TP_PROTO(const struct inode *inode),
|
||||
|
||||
Reference in New Issue
Block a user