Linux Btrfs filesystem development
 help / color / mirror / Atom feed
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


             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