All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/28] btrfs: add trace events for fsync and inode logging
@ 2026-05-15 16:59 fdmanana
  2026-05-15 16:59 ` [PATCH 01/28] btrfs: tracepoints: remove double negation in finish ordered extent event fdmanana
                   ` (27 more replies)
  0 siblings, 28 replies; 29+ messages in thread
From: fdmanana @ 2026-05-15 16:59 UTC (permalink / raw)
  To: linux-btrfs

From: Filipe Manana <fdmanana@suse.com>

We don't have any useful tracing events for fsync and inode logging
operations (which also happen during rename and link), except for a
tracing event triggered when we enter an fsync, but that alone is
useless to debug fsync bugs.

This patch set adds several trace events and improve a couple existing
ones in order to debug fsync related issues. These are based on most of
the custom trace_printk() code I have used over the years and were useful
to debug bugs.

A few cleanups are also included in here.

More details in the individual change logs.

Filipe Manana (28):
  btrfs: tracepoints: remove double negation in finish ordered extent event
  btrfs: tracepoints: remove pointless root field from transaction commit event
  btrfs: remove call to transaction commit trace in warn_about_uncommitted_trans()
  btrfs: remove call to transaction commit trace in btrfs_cleanup_transaction()
  btrfs: tracepoints: pass a transaction handle to transaction commit event
  btrfs: tracepoints: add in_fsync field to transaction commit event
  btrfs: tracepoints: add trace event for transaction aborts
  btrfs: tracepoints: add trace event for the start of a new transaction
  btrfs: tracepoints: trace transaction states during commit phase
  btrfs: stop checking for greater then zero return values in btrfs_sync_file()
  btrfs: remove redundant writeback error check during fsync
  btrfs: tracepoints: add trace event for when fsync finishes
  btrfs: tracepoints: add trace event for btrfs_log_inode_parent()
  btrfs: use a named enum for the log mode in inode log functions
  btrfs: tracepoints: add trace event for btrfs_log_inode()
  btrfs: tracepoints: add trace event for btrfs_log_all_parents()
  btrfs: tracepoints: add trace event for log_all_new_ancestors()
  btrfs: tracepoints: add trace event for log_new_dir_dentries()
  btrfs: tracepoints: add trace event for add_conflicting_inode()
  btrfs: tracepoints: add trace event for log_conflicting_inodes()
  btrfs: use simple assertions where enough during inode logging and replay
  btrfs: tracepoints: add trace event for log_new_delayed_dentries()
  btrfs: tracepoints: add trace event for btrfs_record_unlink_dir()
  btrfs: tracepoints: add trace event for btrfs_record_snapshot_destroy()
  btrfs: tracepoints: add trace event for btrfs_record_new_subvolume()
  btrfs: tracepoints: add trace event for btrfs_log_new_name()
  btrfs: tracepoints: add trace event for btrfs_sync_log()
  btrfs: tracepoints: show inode type in btrfs_sync_file_enter() event

 fs/btrfs/disk-io.c           |   2 -
 fs/btrfs/file.c              |  19 +-
 fs/btrfs/super.c             |   1 +
 fs/btrfs/transaction.c       |  12 +-
 fs/btrfs/tree-log.c          | 273 +++++++----
 fs/btrfs/tree-log.h          |   7 +
 include/trace/events/btrfs.h | 886 ++++++++++++++++++++++++++++++++++-
 7 files changed, 1074 insertions(+), 126 deletions(-)

-- 
2.47.2


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2026-05-15 17:00 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-15 16:59 [PATCH 00/28] btrfs: add trace events for fsync and inode logging fdmanana
2026-05-15 16:59 ` [PATCH 01/28] btrfs: tracepoints: remove double negation in finish ordered extent event fdmanana
2026-05-15 16:59 ` [PATCH 02/28] btrfs: tracepoints: remove pointless root field from transaction commit event fdmanana
2026-05-15 17:00 ` [PATCH 03/28] btrfs: remove call to transaction commit trace in warn_about_uncommitted_trans() fdmanana
2026-05-15 17:00 ` [PATCH 04/28] btrfs: remove call to transaction commit trace in btrfs_cleanup_transaction() fdmanana
2026-05-15 17:00 ` [PATCH 05/28] btrfs: tracepoints: pass a transaction handle to transaction commit event fdmanana
2026-05-15 17:00 ` [PATCH 06/28] btrfs: tracepoints: add in_fsync field " fdmanana
2026-05-15 17:00 ` [PATCH 07/28] btrfs: tracepoints: add trace event for transaction aborts fdmanana
2026-05-15 17:00 ` [PATCH 08/28] btrfs: tracepoints: add trace event for the start of a new transaction fdmanana
2026-05-15 17:00 ` [PATCH 09/28] btrfs: tracepoints: trace transaction states during commit phase fdmanana
2026-05-15 17:00 ` [PATCH 10/28] btrfs: stop checking for greater then zero return values in btrfs_sync_file() fdmanana
2026-05-15 17:00 ` [PATCH 11/28] btrfs: remove redundant writeback error check during fsync fdmanana
2026-05-15 17:00 ` [PATCH 12/28] btrfs: tracepoints: add trace event for when fsync finishes fdmanana
2026-05-15 17:00 ` [PATCH 13/28] btrfs: tracepoints: add trace event for btrfs_log_inode_parent() fdmanana
2026-05-15 17:00 ` [PATCH 14/28] btrfs: use a named enum for the log mode in inode log functions fdmanana
2026-05-15 17:00 ` [PATCH 15/28] btrfs: tracepoints: add trace event for btrfs_log_inode() fdmanana
2026-05-15 17:00 ` [PATCH 16/28] btrfs: tracepoints: add trace event for btrfs_log_all_parents() fdmanana
2026-05-15 17:00 ` [PATCH 17/28] btrfs: tracepoints: add trace event for log_all_new_ancestors() fdmanana
2026-05-15 17:00 ` [PATCH 18/28] btrfs: tracepoints: add trace event for log_new_dir_dentries() fdmanana
2026-05-15 17:00 ` [PATCH 19/28] btrfs: tracepoints: add trace event for add_conflicting_inode() fdmanana
2026-05-15 17:00 ` [PATCH 20/28] btrfs: tracepoints: add trace event for log_conflicting_inodes() fdmanana
2026-05-15 17:00 ` [PATCH 21/28] btrfs: use simple assertions where enough during inode logging and replay fdmanana
2026-05-15 17:00 ` [PATCH 22/28] btrfs: tracepoints: add trace event for log_new_delayed_dentries() fdmanana
2026-05-15 17:00 ` [PATCH 23/28] btrfs: tracepoints: add trace event for btrfs_record_unlink_dir() fdmanana
2026-05-15 17:00 ` [PATCH 24/28] btrfs: tracepoints: add trace event for btrfs_record_snapshot_destroy() fdmanana
2026-05-15 17:00 ` [PATCH 25/28] btrfs: tracepoints: add trace event for btrfs_record_new_subvolume() fdmanana
2026-05-15 17:00 ` [PATCH 26/28] btrfs: tracepoints: add trace event for btrfs_log_new_name() fdmanana
2026-05-15 17:00 ` [PATCH 27/28] btrfs: tracepoints: add trace event for btrfs_sync_log() fdmanana
2026-05-15 17:00 ` [PATCH 28/28] btrfs: tracepoints: show inode type in btrfs_sync_file_enter() event fdmanana

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.