2061 lines · 50.5 KB · C
RawDownload
#undef TRACE_SYSTEM#define TRACE_SYSTEM ext4 #if !defined(_TRACE_EXT4_H) || defined(TRACE_HEADER_MULTI_READ)#define _TRACE_EXT4_H #include <linux/writeback.h>#include <linux/tracepoint.h> struct ext4_allocation_context;struct ext4_allocation_request;struct ext4_extent;struct ext4_prealloc_space;struct ext4_inode_info;struct mpage_da_data;struct ext4_map_blocks;struct ext4_extent; #define EXT4_I(inode) (container_of(inode, struct ext4_inode_info, vfs_inode)) TRACE_EVENT(ext4_free_inode,	TP_PROTO(struct inode *inode), 	TP_ARGS(inode), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	__u16, mode			)		__field(	uid_t,	uid			)		__field(	gid_t,	gid			)		__field(	__u64, blocks			)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->mode	= inode->i_mode;		__entry->uid	= i_uid_read(inode);		__entry->gid	= i_gid_read(inode);		__entry->blocks	= inode->i_blocks;	), 	TP_printk("dev %d,%d ino %lu mode 0%o uid %u gid %u blocks %llu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, __entry->mode,		  __entry->uid, __entry->gid, __entry->blocks)); TRACE_EVENT(ext4_request_inode,	TP_PROTO(struct inode *dir, int mode), 	TP_ARGS(dir, mode), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	dir			)		__field(	__u16, mode			)	), 	TP_fast_assign(		__entry->dev	= dir->i_sb->s_dev;		__entry->dir	= dir->i_ino;		__entry->mode	= mode;	), 	TP_printk("dev %d,%d dir %lu mode 0%o",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->dir, __entry->mode)); TRACE_EVENT(ext4_allocate_inode,	TP_PROTO(struct inode *inode, struct inode *dir, int mode), 	TP_ARGS(inode, dir, mode), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	ino_t,	dir			)		__field(	__u16,	mode			)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->dir	= dir->i_ino;		__entry->mode	= mode;	), 	TP_printk("dev %d,%d ino %lu dir %lu mode 0%o",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  (unsigned long) __entry->dir, __entry->mode)); TRACE_EVENT(ext4_evict_inode,	TP_PROTO(struct inode *inode), 	TP_ARGS(inode), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	int,	nlink			)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->nlink	= inode->i_nlink;	), 	TP_printk("dev %d,%d ino %lu nlink %d",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, __entry->nlink)); TRACE_EVENT(ext4_drop_inode,	TP_PROTO(struct inode *inode, int drop), 	TP_ARGS(inode, drop), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	int,	drop			)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->drop	= drop;	), 	TP_printk("dev %d,%d ino %lu drop %d",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, __entry->drop)); TRACE_EVENT(ext4_mark_inode_dirty,	TP_PROTO(struct inode *inode, unsigned long IP), 	TP_ARGS(inode, IP), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(unsigned long,	ip			)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->ip	= IP;	), 	TP_printk("dev %d,%d ino %lu caller %pF",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, (void *)__entry->ip)); TRACE_EVENT(ext4_begin_ordered_truncate,	TP_PROTO(struct inode *inode, loff_t new_size), 	TP_ARGS(inode, new_size), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	loff_t,	new_size		)	), 	TP_fast_assign(		__entry->dev		= inode->i_sb->s_dev;		__entry->ino		= inode->i_ino;		__entry->new_size	= new_size;	), 	TP_printk("dev %d,%d ino %lu new_size %lld",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  __entry->new_size)); DECLARE_EVENT_CLASS(ext4__write_begin, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int flags), 	TP_ARGS(inode, pos, len, flags), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	loff_t,	pos			)		__field(	unsigned int, len		)		__field(	unsigned int, flags		)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->pos	= pos;		__entry->len	= len;		__entry->flags	= flags;	), 	TP_printk("dev %d,%d ino %lu pos %lld len %u flags %u",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  __entry->pos, __entry->len, __entry->flags)); DEFINE_EVENT(ext4__write_begin, ext4_write_begin, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int flags), 	TP_ARGS(inode, pos, len, flags)); DEFINE_EVENT(ext4__write_begin, ext4_da_write_begin, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int flags), 	TP_ARGS(inode, pos, len, flags)); DECLARE_EVENT_CLASS(ext4__write_end,	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,			unsigned int copied), 	TP_ARGS(inode, pos, len, copied), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	loff_t,	pos			)		__field(	unsigned int, len		)		__field(	unsigned int, copied		)	), 	TP_fast_assign(		__entry->dev	= inode->i_sb->s_dev;		__entry->ino	= inode->i_ino;		__entry->pos	= pos;		__entry->len	= len;		__entry->copied	= copied;	), 	TP_printk("dev %d,%d ino %lu pos %lld len %u copied %u",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  __entry->pos, __entry->len, __entry->copied)); DEFINE_EVENT(ext4__write_end, ext4_ordered_write_end, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int copied), 	TP_ARGS(inode, pos, len, copied)); DEFINE_EVENT(ext4__write_end, ext4_writeback_write_end, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int copied), 	TP_ARGS(inode, pos, len, copied)); DEFINE_EVENT(ext4__write_end, ext4_journalled_write_end, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int copied), 	TP_ARGS(inode, pos, len, copied)); DEFINE_EVENT(ext4__write_end, ext4_da_write_end, 	TP_PROTO(struct inode *inode, loff_t pos, unsigned int len,		 unsigned int copied), 	TP_ARGS(inode, pos, len, copied)); TRACE_EVENT(ext4_da_writepages,	TP_PROTO(struct inode *inode, struct writeback_control *wbc), 	TP_ARGS(inode, wbc), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	long,	nr_to_write		)		__field(	long,	pages_skipped		)		__field(	loff_t,	range_start		)		__field(	loff_t,	range_end		)		__field(	int,	sync_mode		)		__field(	char,	for_kupdate		)		__field(	char,	range_cyclic		)		__field(       pgoff_t,	writeback_index		)	), 	TP_fast_assign(		__entry->dev		= inode->i_sb->s_dev;		__entry->ino		= inode->i_ino;		__entry->nr_to_write	= wbc->nr_to_write;		__entry->pages_skipped	= wbc->pages_skipped;		__entry->range_start	= wbc->range_start;		__entry->range_end	= wbc->range_end;		__entry->sync_mode	= wbc->sync_mode;		__entry->for_kupdate	= wbc->for_kupdate;		__entry->range_cyclic	= wbc->range_cyclic;		__entry->writeback_index = inode->i_mapping->writeback_index;	), 	TP_printk("dev %d,%d ino %lu nr_to_write %ld pages_skipped %ld "		  "range_start %lld range_end %lld sync_mode %d"		  "for_kupdate %d range_cyclic %d writeback_index %lu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, __entry->nr_to_write,		  __entry->pages_skipped, __entry->range_start,		  __entry->range_end, __entry->sync_mode,		  __entry->for_kupdate, __entry->range_cyclic,		  (unsigned long) __entry->writeback_index)); TRACE_EVENT(ext4_da_write_pages,	TP_PROTO(struct inode *inode, struct mpage_da_data *mpd), 	TP_ARGS(inode, mpd), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	__u64,	b_blocknr		)		__field(	__u32,	b_size			)		__field(	__u32,	b_state			)		__field(	unsigned long,	first_page	)		__field(	int,	io_done			)		__field(	int,	pages_written		)		__field(	int,	sync_mode		)	), 	TP_fast_assign(		__entry->dev		= inode->i_sb->s_dev;		__entry->ino		= inode->i_ino;		__entry->b_blocknr	= mpd->b_blocknr;		__entry->b_size		= mpd->b_size;		__entry->b_state	= mpd->b_state;		__entry->first_page	= mpd->first_page;		__entry->io_done	= mpd->io_done;		__entry->pages_written	= mpd->pages_written;		__entry->sync_mode	= mpd->wbc->sync_mode;	), 	TP_printk("dev %d,%d ino %lu b_blocknr %llu b_size %u b_state 0x%04x "		  "first_page %lu io_done %d pages_written %d sync_mode %d",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  __entry->b_blocknr, __entry->b_size,		  __entry->b_state, __entry->first_page,		  __entry->io_done, __entry->pages_written,		  __entry->sync_mode                  )); TRACE_EVENT(ext4_da_writepages_result,	TP_PROTO(struct inode *inode, struct writeback_control *wbc,			int ret, int pages_written), 	TP_ARGS(inode, wbc, ret, pages_written), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	ino_t,	ino			)		__field(	int,	ret			)		__field(	int,	pages_written		)		__field(	long,	pages_skipped		)		__field(	int,	sync_mode		)		__field(       pgoff_t,	writeback_index		)	), 	TP_fast_assign(		__entry->dev		= inode->i_sb->s_dev;		__entry->ino		= inode->i_ino;		__entry->ret		= ret;		__entry->pages_written	= pages_written;		__entry->pages_skipped	= wbc->pages_skipped;		__entry->sync_mode	= wbc->sync_mode;		__entry->writeback_index = inode->i_mapping->writeback_index;	), 	TP_printk("dev %d,%d ino %lu ret %d pages_written %d pages_skipped %ld "		  "sync_mode %d writeback_index %lu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino, __entry->ret,		  __entry->pages_written, __entry->pages_skipped,		  __entry->sync_mode,		  (unsigned long) __entry->writeback_index)); DECLARE_EVENT_CLASS(ext4__page_op,	TP_PROTO(struct page *page), 	TP_ARGS(page), 	TP_STRUCT__entry(		__field(	pgoff_t, index			)		__field(	ino_t,	ino			)		__field(	dev_t,	dev			) 	), 	TP_fast_assign(		__entry->index	= page->index;		__entry->ino	= page->mapping->host->i_ino;		__entry->dev	= page->mapping->host->i_sb->s_dev;	), 	TP_printk("dev %d,%d ino %lu page_index %lu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  (unsigned long) __entry->index)); DEFINE_EVENT(ext4__page_op, ext4_writepage, 	TP_PROTO(struct page *page), 	TP_ARGS(page)); DEFINE_EVENT(ext4__page_op, ext4_readpage, 	TP_PROTO(struct page *page), 	TP_ARGS(page)); DEFINE_EVENT(ext4__page_op, ext4_releasepage, 	TP_PROTO(struct page *page), 	TP_ARGS(page)); TRACE_EVENT(ext4_invalidatepage,	TP_PROTO(struct page *page, unsigned long offset), 	TP_ARGS(page, offset), 	TP_STRUCT__entry(		__field(	pgoff_t, index			)		__field(	unsigned long, offset		)		__field(	ino_t,	ino			)		__field(	dev_t,	dev			) 	), 	TP_fast_assign(		__entry->index	= page->index;		__entry->offset	= offset;		__entry->ino	= page->mapping->host->i_ino;		__entry->dev	= page->mapping->host->i_sb->s_dev;	), 	TP_printk("dev %d,%d ino %lu page_index %lu offset %lu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  (unsigned long) __entry->ino,		  (unsigned long) __entry->index, __entry->offset)); TRACE_EVENT(ext4_discard_blocks,	TP_PROTO(struct super_block *sb, unsigned long long blk,			unsigned long long count), 	TP_ARGS(sb, blk, count), 	TP_STRUCT__entry(		__field(	dev_t,	dev			)		__field(	__u64,	blk			)		__field(	__u64,	count			) 	), 	TP_fast_assign(		__entry->dev	= sb->s_dev;		__entry->blk	= blk;		__entry->count	= count;	), 	TP_printk("dev %d,%d blk %llu count %llu",		  MAJOR(__entry->dev), MINOR(__entry->dev),		  __entry->blk, __entry->count)

Lines 1–500 of 2061.

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t