blktrace: add definitions for struct blk_io_trace2

Add definitions for the extended version of the blktrace protocol using a
wider action type to be able to record new actions in the kernel.

Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Johannes Thumshirn 2025-10-22 13:41:08 +02:00 committed by Jens Axboe
parent 113cbd6282
commit c44347d606
2 changed files with 17 additions and 0 deletions

View file

@ -94,6 +94,7 @@ enum blktrace_notify {
#define BLK_IO_TRACE_MAGIC 0x65617400
#define BLK_IO_TRACE_VERSION 0x07
#define BLK_IO_TRACE2_VERSION 0x08
/*
* The trace itself
@ -113,6 +114,21 @@ struct blk_io_trace {
/* cgroup id will be stored here if exists */
};
struct blk_io_trace2 {
__u32 magic; /* MAGIC << 8 | BLK_IO_TRACE2_VERSION */
__u32 sequence; /* event number */
__u64 time; /* in nanoseconds */
__u64 sector; /* disk offset */
__u32 bytes; /* transfer length */
__u32 pid; /* who did it */
__u64 action; /* what happened */
__u32 device; /* device number */
__u32 cpu; /* on what cpu did it happen */
__u16 error; /* completion error */
__u16 pdu_len; /* length of data after this trace */
__u8 pad[12];
/* cgroup id will be stored here if it exists */
};
/*
* The remap event
*/

View file

@ -1616,6 +1616,7 @@ static int __init init_blk_tracer(void)
BUILD_BUG_ON(__alignof__(struct blk_user_trace_setup2) %
__alignof__(long));
BUILD_BUG_ON(__alignof__(struct blk_io_trace2) % __alignof__(long));
return 0;
}