iomap: standardize tracepoint formatting and storage
Print all the offset, pos, and length quantities in hexadecimal. While we're at it, update the types of the tracepoint structure fields to match the types of the values being recorded in them. Signed-off-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com>
This commit is contained in:
parent
36ca7943ac
commit
03b8df8d43
|
@ -4,6 +4,15 @@
|
|||
*
|
||||
* NOTE: none of these tracepoints shall be considered a stable kernel ABI
|
||||
* as they can change at any time.
|
||||
*
|
||||
* Current conventions for printing numbers measuring specific units:
|
||||
*
|
||||
* offset: byte offset into a subcomponent of a file operation
|
||||
* pos: file offset, in bytes
|
||||
* length: length of a file operation, in bytes
|
||||
* ino: inode number
|
||||
*
|
||||
* Numbers describing space allocations should be formatted in hexadecimal.
|
||||
*/
|
||||
#undef TRACE_SYSTEM
|
||||
#define TRACE_SYSTEM iomap
|
||||
|
@ -42,14 +51,14 @@ DEFINE_READPAGE_EVENT(iomap_readpage);
|
|||
DEFINE_READPAGE_EVENT(iomap_readahead);
|
||||
|
||||
DECLARE_EVENT_CLASS(iomap_range_class,
|
||||
TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),
|
||||
TP_PROTO(struct inode *inode, loff_t off, u64 len),
|
||||
TP_ARGS(inode, off, len),
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(u64, ino)
|
||||
__field(loff_t, size)
|
||||
__field(unsigned long, offset)
|
||||
__field(unsigned int, length)
|
||||
__field(loff_t, offset)
|
||||
__field(u64, length)
|
||||
),
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
|
@ -58,8 +67,7 @@ DECLARE_EVENT_CLASS(iomap_range_class,
|
|||
__entry->offset = off;
|
||||
__entry->length = len;
|
||||
),
|
||||
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset %lx "
|
||||
"length %x",
|
||||
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx length 0x%llx",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->ino,
|
||||
__entry->size,
|
||||
|
@ -69,7 +77,7 @@ DECLARE_EVENT_CLASS(iomap_range_class,
|
|||
|
||||
#define DEFINE_RANGE_EVENT(name) \
|
||||
DEFINE_EVENT(iomap_range_class, name, \
|
||||
TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),\
|
||||
TP_PROTO(struct inode *inode, loff_t off, u64 len),\
|
||||
TP_ARGS(inode, off, len))
|
||||
DEFINE_RANGE_EVENT(iomap_writepage);
|
||||
DEFINE_RANGE_EVENT(iomap_releasepage);
|
||||
|
@ -122,8 +130,8 @@ DECLARE_EVENT_CLASS(iomap_class,
|
|||
__entry->flags = iomap->flags;
|
||||
__entry->bdev = iomap->bdev ? iomap->bdev->bd_dev : 0;
|
||||
),
|
||||
TP_printk("dev %d:%d ino 0x%llx bdev %d:%d addr %lld offset %lld "
|
||||
"length %llu type %s flags %s",
|
||||
TP_printk("dev %d:%d ino 0x%llx bdev %d:%d 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),
|
||||
|
@ -149,7 +157,7 @@ TRACE_EVENT(iomap_iter,
|
|||
__field(dev_t, dev)
|
||||
__field(u64, ino)
|
||||
__field(loff_t, pos)
|
||||
__field(loff_t, length)
|
||||
__field(u64, length)
|
||||
__field(unsigned int, flags)
|
||||
__field(const void *, ops)
|
||||
__field(unsigned long, caller)
|
||||
|
@ -163,7 +171,7 @@ TRACE_EVENT(iomap_iter,
|
|||
__entry->ops = ops;
|
||||
__entry->caller = caller;
|
||||
),
|
||||
TP_printk("dev %d:%d ino 0x%llx pos %lld length %lld flags %s (0x%x) ops %ps caller %pS",
|
||||
TP_printk("dev %d:%d ino 0x%llx pos 0x%llx length 0x%llx flags %s (0x%x) ops %ps caller %pS",
|
||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||
__entry->ino,
|
||||
__entry->pos,
|
||||
|
|
Loading…
Reference in New Issue