Commit 0d8627cc authored by Johannes Thumshirn's avatar Johannes Thumshirn Committed by Jens Axboe
Browse files

blktrace: add definitions for blk_user_trace_setup2



Add definitions for a version 2 of the blk_user_trace_setup ioctl. This
new ioctl will enable a different struct layout of the binary data passed
to user-space when using a new version of the blktrace utility requesting
the new struct layout.

Reviewed-by: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: default avatarJohannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 42da88a7
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -129,6 +129,7 @@ enum {
};

#define BLKTRACE_BDEV_SIZE	32
#define BLKTRACE_BDEV_SIZE2	64

/*
 * User setup structure passed with BLKTRACESETUP
@@ -143,4 +144,19 @@ struct blk_user_trace_setup {
	__u32 pid;
};

/*
 * User setup structure passed with BLKTRACESETUP2
 */
struct blk_user_trace_setup2 {
	char name[BLKTRACE_BDEV_SIZE2];		/* output */
	__u64 act_mask;				/* input */
	__u32 buf_size;				/* input */
	__u32 buf_nr;				/* input */
	__u64 start_lba;
	__u64 end_lba;
	__u32 pid;
	__u32 flags;		/* currently unused */
	__u64 reserved[11];
};

#endif /* _UAPIBLKTRACE_H */
+1 −0
Original line number Diff line number Diff line
@@ -300,6 +300,7 @@ struct file_attr {
#define BLKGETDISKSEQ _IOR(0x12,128,__u64)
/* 130-136 are used by zoned block device ioctls (uapi/linux/blkzoned.h) */
/* 137-141 are used by blk-crypto ioctls (uapi/linux/blk-crypto.h) */
#define BLKTRACESETUP2 _IOWR(0x12, 142, struct blk_user_trace_setup2)

#define BMAP_IOCTL 1		/* obsolete - kept for compatibility */
#define FIBMAP	   _IO(0x00,1)	/* bmap access */
+3 −0
Original line number Diff line number Diff line
@@ -1601,6 +1601,9 @@ static int __init init_blk_tracer(void)
		return 1;
	}

	BUILD_BUG_ON(__alignof__(struct blk_user_trace_setup2) %
		     __alignof__(long));

	return 0;
}