Commit 12706394 authored by Theodore Ts'o's avatar Theodore Ts'o
Browse files

ext4: add tracepoint for ext4_journal_start



This will help debug who is responsible for starting a jbd2 transaction.

Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
parent 4862fd60
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -269,6 +269,7 @@ handle_t *ext4_journal_start_sb(struct super_block *sb, int nblocks)
	journal_t *journal;
	handle_t  *handle;

	trace_ext4_journal_start(sb, nblocks, _RET_IP_);
	if (sb->s_flags & MS_RDONLY)
		return ERR_PTR(-EROFS);

+22 −0
Original line number Diff line number Diff line
@@ -1520,6 +1520,28 @@ TRACE_EVENT(ext4_load_inode,
		  (unsigned long) __entry->ino)
);

TRACE_EVENT(ext4_journal_start,
	TP_PROTO(struct super_block *sb, int nblocks, unsigned long IP),

	TP_ARGS(sb, nblocks, IP),

	TP_STRUCT__entry(
		__field(	dev_t,	dev			)
		__field(	  int, 	nblocks			)
		__field(unsigned long,	ip			)
	),

	TP_fast_assign(
		__entry->dev	 = sb->s_dev;
		__entry->nblocks = nblocks;
		__entry->ip	 = IP;
	),

	TP_printk("dev %d,%d nblocks %d caller %pF",
		  MAJOR(__entry->dev), MINOR(__entry->dev),
		  __entry->nblocks, (void *)__entry->ip)
);

#endif /* _TRACE_EXT4_H */

/* This part must be outside protection */