diff options
Diffstat (limited to 'fs/iomap/trace.h')
| -rw-r--r-- | fs/iomap/trace.h | 48 | 
1 files changed, 46 insertions, 2 deletions
diff --git a/fs/iomap/trace.h b/fs/iomap/trace.h index c16fd55f5595..0a991c4ce87d 100644 --- a/fs/iomap/trace.h +++ b/fs/iomap/trace.h @@ -154,7 +154,48 @@ DEFINE_EVENT(iomap_class, name,	\  	TP_ARGS(inode, iomap))  DEFINE_IOMAP_EVENT(iomap_iter_dstmap);  DEFINE_IOMAP_EVENT(iomap_iter_srcmap); -DEFINE_IOMAP_EVENT(iomap_writepage_map); + +TRACE_EVENT(iomap_writepage_map, +	TP_PROTO(struct inode *inode, u64 pos, unsigned int dirty_len, +		 struct iomap *iomap), +	TP_ARGS(inode, pos, dirty_len, iomap), +	TP_STRUCT__entry( +		__field(dev_t, dev) +		__field(u64, ino) +		__field(u64, pos) +		__field(u64, dirty_len) +		__field(u64, addr) +		__field(loff_t, offset) +		__field(u64, length) +		__field(u16, type) +		__field(u16, flags) +		__field(dev_t, bdev) +	), +	TP_fast_assign( +		__entry->dev = inode->i_sb->s_dev; +		__entry->ino = inode->i_ino; +		__entry->pos = pos; +		__entry->dirty_len = dirty_len; +		__entry->addr = iomap->addr; +		__entry->offset = iomap->offset; +		__entry->length = iomap->length; +		__entry->type = iomap->type; +		__entry->flags = iomap->flags; +		__entry->bdev = iomap->bdev ? iomap->bdev->bd_dev : 0; +	), +	TP_printk("dev %d:%d ino 0x%llx bdev %d:%d pos 0x%llx dirty len 0x%llx " +		  "addr 0x%llx offset 0x%llx length 0x%llx type %s flags %s", +		  MAJOR(__entry->dev), MINOR(__entry->dev), +		  __entry->ino, +		  MAJOR(__entry->bdev), MINOR(__entry->bdev), +		  __entry->pos, +		  __entry->dirty_len, +		  __entry->addr, +		  __entry->offset, +		  __entry->length, +		  __print_symbolic(__entry->type, IOMAP_TYPE_STRINGS), +		  __print_flags(__entry->flags, "|", IOMAP_F_FLAGS_STRINGS)) +);  TRACE_EVENT(iomap_iter,  	TP_PROTO(struct iomap_iter *iter, const void *ops, @@ -165,6 +206,7 @@ TRACE_EVENT(iomap_iter,  		__field(u64, ino)  		__field(loff_t, pos)  		__field(u64, length) +		__field(s64, processed)  		__field(unsigned int, flags)  		__field(const void *, ops)  		__field(unsigned long, caller) @@ -174,15 +216,17 @@ TRACE_EVENT(iomap_iter,  		__entry->ino = iter->inode->i_ino;  		__entry->pos = iter->pos;  		__entry->length = iomap_length(iter); +		__entry->processed = iter->processed;  		__entry->flags = iter->flags;  		__entry->ops = ops;  		__entry->caller = caller;  	), -	TP_printk("dev %d:%d ino 0x%llx pos 0x%llx length 0x%llx flags %s (0x%x) ops %ps caller %pS", +	TP_printk("dev %d:%d ino 0x%llx pos 0x%llx length 0x%llx processed %lld flags %s (0x%x) ops %ps caller %pS",  		  MAJOR(__entry->dev), MINOR(__entry->dev),  		   __entry->ino,  		   __entry->pos,  		   __entry->length, +		   __entry->processed,  		   __print_flags(__entry->flags, "|", IOMAP_FLAGS_STRINGS),  		   __entry->flags,  		   __entry->ops,  |