From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 00/28] btrfs: add trace events for fsync and inode logging
Date: Fri, 15 May 2026 17:59:57 +0100 [thread overview]
Message-ID: <cover.1778776706.git.fdmanana@suse.com> (raw)
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
next reply other threads:[~2026-05-15 17:00 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 16:59 fdmanana [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1778776706.git.fdmanana@suse.com \
--to=fdmanana@kernel.org \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox