Skip to content

Commit 03b8df8

Browse files
author
Darrick J. Wong
committed
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 <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Dave Chinner <[email protected]>
1 parent 36ca794 commit 03b8df8

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

fs/iomap/trace.h

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,15 @@
44
*
55
* NOTE: none of these tracepoints shall be considered a stable kernel ABI
66
* as they can change at any time.
7+
*
8+
* Current conventions for printing numbers measuring specific units:
9+
*
10+
* offset: byte offset into a subcomponent of a file operation
11+
* pos: file offset, in bytes
12+
* length: length of a file operation, in bytes
13+
* ino: inode number
14+
*
15+
* Numbers describing space allocations should be formatted in hexadecimal.
716
*/
817
#undef TRACE_SYSTEM
918
#define TRACE_SYSTEM iomap
@@ -42,14 +51,14 @@ DEFINE_READPAGE_EVENT(iomap_readpage);
4251
DEFINE_READPAGE_EVENT(iomap_readahead);
4352

4453
DECLARE_EVENT_CLASS(iomap_range_class,
45-
TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),
54+
TP_PROTO(struct inode *inode, loff_t off, u64 len),
4655
TP_ARGS(inode, off, len),
4756
TP_STRUCT__entry(
4857
__field(dev_t, dev)
4958
__field(u64, ino)
5059
__field(loff_t, size)
51-
__field(unsigned long, offset)
52-
__field(unsigned int, length)
60+
__field(loff_t, offset)
61+
__field(u64, length)
5362
),
5463
TP_fast_assign(
5564
__entry->dev = inode->i_sb->s_dev;
@@ -58,8 +67,7 @@ DECLARE_EVENT_CLASS(iomap_range_class,
5867
__entry->offset = off;
5968
__entry->length = len;
6069
),
61-
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset %lx "
62-
"length %x",
70+
TP_printk("dev %d:%d ino 0x%llx size 0x%llx offset 0x%llx length 0x%llx",
6371
MAJOR(__entry->dev), MINOR(__entry->dev),
6472
__entry->ino,
6573
__entry->size,
@@ -69,7 +77,7 @@ DECLARE_EVENT_CLASS(iomap_range_class,
6977

7078
#define DEFINE_RANGE_EVENT(name) \
7179
DEFINE_EVENT(iomap_range_class, name, \
72-
TP_PROTO(struct inode *inode, unsigned long off, unsigned int len),\
80+
TP_PROTO(struct inode *inode, loff_t off, u64 len),\
7381
TP_ARGS(inode, off, len))
7482
DEFINE_RANGE_EVENT(iomap_writepage);
7583
DEFINE_RANGE_EVENT(iomap_releasepage);
@@ -122,8 +130,8 @@ DECLARE_EVENT_CLASS(iomap_class,
122130
__entry->flags = iomap->flags;
123131
__entry->bdev = iomap->bdev ? iomap->bdev->bd_dev : 0;
124132
),
125-
TP_printk("dev %d:%d ino 0x%llx bdev %d:%d addr %lld offset %lld "
126-
"length %llu type %s flags %s",
133+
TP_printk("dev %d:%d ino 0x%llx bdev %d:%d addr 0x%llx offset 0x%llx "
134+
"length 0x%llx type %s flags %s",
127135
MAJOR(__entry->dev), MINOR(__entry->dev),
128136
__entry->ino,
129137
MAJOR(__entry->bdev), MINOR(__entry->bdev),
@@ -149,7 +157,7 @@ TRACE_EVENT(iomap_iter,
149157
__field(dev_t, dev)
150158
__field(u64, ino)
151159
__field(loff_t, pos)
152-
__field(loff_t, length)
160+
__field(u64, length)
153161
__field(unsigned int, flags)
154162
__field(const void *, ops)
155163
__field(unsigned long, caller)
@@ -163,7 +171,7 @@ TRACE_EVENT(iomap_iter,
163171
__entry->ops = ops;
164172
__entry->caller = caller;
165173
),
166-
TP_printk("dev %d:%d ino 0x%llx pos %lld length %lld flags %s (0x%x) ops %ps caller %pS",
174+
TP_printk("dev %d:%d ino 0x%llx pos 0x%llx length 0x%llx flags %s (0x%x) ops %ps caller %pS",
167175
MAJOR(__entry->dev), MINOR(__entry->dev),
168176
__entry->ino,
169177
__entry->pos,

0 commit comments

Comments
 (0)