btrfs: tracepoints: add trace event for btrfs_record_new_subvolume()

btrfs_record_new_subvolume() is an important operation that affects
inode logging and is called during subvolume creation. Add a trace event
for it to help debug issues.

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:
Filipe Manana committed 2026-06-09 11:49:24 +01:00
1 parent e144303240
commit 4f065ebdf8
2 files changed
+27

No files matched your search

+2
View File
@@ -8024,6 +8024,8 @@ void btrfs_record_snapshot_destroy(struct btrfs_trans_handle *trans,
void btrfs_record_new_subvolume(const struct btrfs_trans_handle *trans,
struct btrfs_inode *dir)
{
trace_btrfs_record_new_subvolume(trans, dir);
mutex_lock(&dir->log_mutex);
dir->last_unlink_trans = trans->transid;
mutex_unlock(&dir->log_mutex);
+25
View File
@@ -1456,6 +1456,31 @@ TRACE_EVENT(btrfs_record_snapshot_destroy,
__entry->dir)
);
TRACE_EVENT(btrfs_record_new_subvolume,
TP_PROTO(const struct btrfs_trans_handle *trans,
const struct btrfs_inode *dir),
TP_ARGS(trans, dir),
TP_STRUCT__entry_btrfs(
__field( u64, root_objectid )
__field( u64, transid )
__field( u64, dir )
),
TP_fast_assign(
TP_fast_assign_fsid(trans->fs_info);
__entry->root_objectid = btrfs_root_id(dir->root);
__entry->transid = trans->transid;
__entry->dir = btrfs_ino(dir);
),
TP_printk_btrfs("root=%llu(%s) transid=%llu dir=%llu",
show_root_type(__entry->root_objectid), __entry->transid,
__entry->dir)
);
TRACE_EVENT(btrfs_sync_fs,
TP_PROTO(const struct btrfs_fs_info *fs_info, int wait),