summaryrefslogtreecommitdiff
path: root/include/trace
diff options
context:
space:
mode:
authorZhang Yi <yi.zhang@huawei.com>2026-10-09 18:30:29 +0800
committerTheodore Ts'o <tytso@mit.edu>2026-10-15 10:53:14 -0400
commitb7e23e0583541f96cd795f67a132397b44451d8f (patch)
tree83191d5ff753a65ad4a637e63d790d9476b7e2fd /include/trace
parente766cff471218142abfb0fba2ad3b16bbecce833 (diff)
ext4: add tracepoints for DISKSIZE_GROW_PENDING set, clear, and wait
Add trace events ext4_iomap_mark_disksize_pending(), ext4_iomap_clear_disksize_pending(), and ext4_iomap_wait_disksize_pending() to track disksize-grow-pending state changes and waiting. Signed-off-by: Zhang Yi <yi.zhang@huawei.com> Tested-by: syzbot@syzkaller.appspotmail.com Link: https://patch.msgid.link/20261009103033.2920530-29-yi.zhang@huaweicloud.com Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'include/trace')
-rw-r--r--include/trace/events/ext4.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/include/trace/events/ext4.h b/include/trace/events/ext4.h
index bcf80f518e61..d33456d06b00 100644
--- a/include/trace/events/ext4.h
+++ b/include/trace/events/ext4.h
@@ -3204,6 +3204,39 @@ DEFINE_SET_IOMAP_EVENT(ext4_iomap_buffered_write_begin);
DEFINE_SET_IOMAP_EVENT(ext4_iomap_map_writeback_range);
DEFINE_SET_IOMAP_EVENT(ext4_iomap_zero_begin);
+DECLARE_EVENT_CLASS(ext4_iomap_disksize_pending,
+ TP_PROTO(struct inode *inode),
+ TP_ARGS(inode),
+ TP_STRUCT__entry(
+ __field(dev_t, dev)
+ __field(u64, ino)
+ __field(loff_t, i_disksize)
+ ),
+ TP_fast_assign(
+ __entry->dev = inode->i_sb->s_dev;
+ __entry->ino = inode->i_ino;
+ __entry->i_disksize = READ_ONCE(EXT4_I(inode)->i_disksize);
+ ),
+ TP_printk("dev %d:%d ino %llu i_disksize %lld",
+ MAJOR(__entry->dev), MINOR(__entry->dev),
+ __entry->ino, __entry->i_disksize)
+);
+
+DEFINE_EVENT(ext4_iomap_disksize_pending, ext4_iomap_mark_disksize_pending,
+ TP_PROTO(struct inode *inode),
+ TP_ARGS(inode)
+);
+
+DEFINE_EVENT(ext4_iomap_disksize_pending, ext4_iomap_clear_disksize_pending,
+ TP_PROTO(struct inode *inode),
+ TP_ARGS(inode)
+);
+
+DEFINE_EVENT(ext4_iomap_disksize_pending, ext4_iomap_wait_disksize_pending,
+ TP_PROTO(struct inode *inode),
+ TP_ARGS(inode)
+);
+
#endif /* _TRACE_EXT4_H */
/* This part must be outside protection */