diff options
Diffstat (limited to 'include/trace/events')
| -rw-r--r-- | include/trace/events/ext4.h | 101 | ||||
| -rw-r--r-- | include/trace/events/jbd2.h | 28 | 
2 files changed, 129 insertions, 0 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h index d0b6cd3afb2..2aa6aa3e8f6 100644 --- a/include/trace/events/ext4.h +++ b/include/trace/events/ext4.h @@ -874,6 +874,107 @@ TRACE_EVENT(ext4_forget,  		  __entry->mode, __entry->is_metadata, __entry->block)  ); +TRACE_EVENT(ext4_da_update_reserve_space, +	TP_PROTO(struct inode *inode, int used_blocks), + +	TP_ARGS(inode, used_blocks), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	ino_t,	ino			) +		__field(	umode_t, mode			) +		__field(	__u64,	i_blocks		) +		__field(	int,	used_blocks		) +		__field(	int,	reserved_data_blocks	) +		__field(	int,	reserved_meta_blocks	) +		__field(	int,	allocated_meta_blocks	) +	), + +	TP_fast_assign( +		__entry->dev	= inode->i_sb->s_dev; +		__entry->ino	= inode->i_ino; +		__entry->mode	= inode->i_mode; +		__entry->i_blocks = inode->i_blocks; +		__entry->used_blocks = used_blocks; +		__entry->reserved_data_blocks = EXT4_I(inode)->i_reserved_data_blocks; +		__entry->reserved_meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; +		__entry->allocated_meta_blocks = EXT4_I(inode)->i_allocated_meta_blocks; +	), + +	TP_printk("dev %s ino %lu mode 0%o i_blocks %llu used_blocks %d reserved_data_blocks %d reserved_meta_blocks %d allocated_meta_blocks %d", +		  jbd2_dev_to_name(__entry->dev), (unsigned long) __entry->ino, +		  __entry->mode,  (unsigned long long) __entry->i_blocks, +		  __entry->used_blocks, __entry->reserved_data_blocks, +		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) +); + +TRACE_EVENT(ext4_da_reserve_space, +	TP_PROTO(struct inode *inode, int md_needed), + +	TP_ARGS(inode, md_needed), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	ino_t,	ino			) +		__field(	umode_t, mode			) +		__field(	__u64,	i_blocks		) +		__field(	int,	md_needed		) +		__field(	int,	reserved_data_blocks	) +		__field(	int,	reserved_meta_blocks	) +	), + +	TP_fast_assign( +		__entry->dev	= inode->i_sb->s_dev; +		__entry->ino	= inode->i_ino; +		__entry->mode	= inode->i_mode; +		__entry->i_blocks = inode->i_blocks; +		__entry->md_needed = md_needed; +		__entry->reserved_data_blocks = EXT4_I(inode)->i_reserved_data_blocks; +		__entry->reserved_meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; +	), + +	TP_printk("dev %s ino %lu mode 0%o i_blocks %llu md_needed %d reserved_data_blocks %d reserved_meta_blocks %d", +		  jbd2_dev_to_name(__entry->dev), (unsigned long) __entry->ino, +		  __entry->mode, (unsigned long long) __entry->i_blocks, +		  __entry->md_needed, __entry->reserved_data_blocks, +		  __entry->reserved_meta_blocks) +); + +TRACE_EVENT(ext4_da_release_space, +	TP_PROTO(struct inode *inode, int freed_blocks), + +	TP_ARGS(inode, freed_blocks), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	ino_t,	ino			) +		__field(	umode_t, mode			) +		__field(	__u64,	i_blocks		) +		__field(	int,	freed_blocks		) +		__field(	int,	reserved_data_blocks	) +		__field(	int,	reserved_meta_blocks	) +		__field(	int,	allocated_meta_blocks	) +	), + +	TP_fast_assign( +		__entry->dev	= inode->i_sb->s_dev; +		__entry->ino	= inode->i_ino; +		__entry->mode	= inode->i_mode; +		__entry->i_blocks = inode->i_blocks; +		__entry->freed_blocks = freed_blocks; +		__entry->reserved_data_blocks = EXT4_I(inode)->i_reserved_data_blocks; +		__entry->reserved_meta_blocks = EXT4_I(inode)->i_reserved_meta_blocks; +		__entry->allocated_meta_blocks = EXT4_I(inode)->i_allocated_meta_blocks; +	), + +	TP_printk("dev %s ino %lu mode 0%o i_blocks %llu freed_blocks %d reserved_data_blocks %d reserved_meta_blocks %d allocated_meta_blocks %d", +		  jbd2_dev_to_name(__entry->dev), (unsigned long) __entry->ino, +		  __entry->mode, (unsigned long long) __entry->i_blocks, +		  __entry->freed_blocks, __entry->reserved_data_blocks, +		  __entry->reserved_meta_blocks, __entry->allocated_meta_blocks) +); + +  #endif /* _TRACE_EXT4_H */  /* This part must be outside protection */ diff --git a/include/trace/events/jbd2.h b/include/trace/events/jbd2.h index 96b370a050d..bf16545cc97 100644 --- a/include/trace/events/jbd2.h +++ b/include/trace/events/jbd2.h @@ -199,6 +199,34 @@ TRACE_EVENT(jbd2_checkpoint_stats,  		  __entry->forced_to_close, __entry->written, __entry->dropped)  ); +TRACE_EVENT(jbd2_cleanup_journal_tail, + +	TP_PROTO(journal_t *journal, tid_t first_tid, +		 unsigned long block_nr, unsigned long freed), + +	TP_ARGS(journal, first_tid, block_nr, freed), + +	TP_STRUCT__entry( +		__field(	dev_t,	dev			) +		__field(	tid_t,	tail_sequence		) +		__field(	tid_t,	first_tid		) +		__field(unsigned long,	block_nr		) +		__field(unsigned long,	freed			) +	), + +	TP_fast_assign( +		__entry->dev		= journal->j_fs_dev->bd_dev; +		__entry->tail_sequence	= journal->j_tail_sequence; +		__entry->first_tid	= first_tid; +		__entry->block_nr	= block_nr; +		__entry->freed		= freed; +	), + +	TP_printk("dev %s from %u to %u offset %lu freed %lu", +		  jbd2_dev_to_name(__entry->dev), __entry->tail_sequence, +		  __entry->first_tid, __entry->block_nr, __entry->freed) +); +  #endif /* _TRACE_JBD2_H */  /* This part must be outside protection */  | 
