Add support for RHEL 9.1
[lttng-modules.git] / instrumentation / events / lttng-module / block.h
index 94225b9e0db70ec1873a32c938462dba9473625a..4a0704611225c927bf17f3e66ccedc4e0b244e19 100644 (file)
@@ -11,9 +11,9 @@
 #include <linux/trace_seq.h>
 #include <lttng-kernel-version.h>
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0))
+#if LTTNG_KERNEL_RANGE(4,11,0, 5,18,0)
 #include <scsi/scsi_request.h>
-#endif /* (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */
+#endif /* LTTNG_KERNEL_RANGE(4,11,0, 5,18,0) */
 
 #ifndef _TRACE_BLOCK_DEF_
 #define _TRACE_BLOCK_DEF_
@@ -66,6 +66,38 @@ LTTNG_TRACEPOINT_ENUM(block_rq_type,
 #define lttng_bio_op(bio)      bio_op(bio)
 #define lttng_bio_rw(bio)      ((bio)->bi_opf)
 
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,18,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,162,0,0, 5,15,0,0,0,0))
+#ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
+#define blk_rwbs_ctf_integer(type, rwbs, op, rw, bytes)                              \
+               ctf_enum(block_rq_type, type, rwbs,                                           \
+                       ( (op) == REQ_OP_WRITE ? RWBS_FLAG_WRITE : \
+                       ( (op) == REQ_OP_DISCARD ? RWBS_FLAG_DISCARD :        \
+                       ( (op) == REQ_OP_SECURE_ERASE ? (RWBS_FLAG_DISCARD | RWBS_FLAG_SECURE) : \
+                       ( (op) == REQ_OP_FLUSH ? RWBS_FLAG_FLUSH :            \
+                       ( (op) == REQ_OP_READ ? RWBS_FLAG_READ :              \
+                       ( 0 ))))))                                            \
+                       | ((rw) & REQ_RAHEAD ? RWBS_FLAG_RAHEAD : 0)          \
+                       | ((rw) & REQ_SYNC ? RWBS_FLAG_SYNC : 0)              \
+                       | ((rw) & REQ_META ? RWBS_FLAG_META : 0)              \
+                       | ((rw) & REQ_PREFLUSH ? RWBS_FLAG_PREFLUSH : 0)      \
+                       | ((rw) & REQ_FUA ? RWBS_FLAG_FUA : 0))
+#else
+#define blk_rwbs_ctf_integer(type, rwbs, op, rw, bytes)                              \
+               ctf_integer(type, rwbs,                                       \
+                       ( (op) == REQ_OP_WRITE ? RWBS_FLAG_WRITE : \
+                       ( (op) == REQ_OP_DISCARD ? RWBS_FLAG_DISCARD :        \
+                       ( (op) == REQ_OP_SECURE_ERASE ? (RWBS_FLAG_DISCARD | RWBS_FLAG_SECURE) : \
+                       ( (op) == REQ_OP_FLUSH ? RWBS_FLAG_FLUSH :            \
+                       ( (op) == REQ_OP_READ ? RWBS_FLAG_READ :              \
+                       ( 0 ))))))                                            \
+                       | ((rw) & REQ_RAHEAD ? RWBS_FLAG_RAHEAD : 0)          \
+                       | ((rw) & REQ_SYNC ? RWBS_FLAG_SYNC : 0)              \
+                       | ((rw) & REQ_META ? RWBS_FLAG_META : 0)              \
+                       | ((rw) & REQ_PREFLUSH ? RWBS_FLAG_PREFLUSH : 0)      \
+                       | ((rw) & REQ_FUA ? RWBS_FLAG_FUA : 0))
+#endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */
+#else
 #ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM
 #define blk_rwbs_ctf_integer(type, rwbs, op, rw, bytes)                              \
                ctf_enum(block_rq_type, type, rwbs,                                           \
@@ -95,6 +127,7 @@ LTTNG_TRACEPOINT_ENUM(block_rq_type,
                        | ((rw) & REQ_PREFLUSH ? RWBS_FLAG_PREFLUSH : 0)      \
                        | ((rw) & REQ_FUA ? RWBS_FLAG_FUA : 0))
 #endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */
+#endif
 
 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,1,0))
 
@@ -310,7 +343,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_abort,
 )
 #endif
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,162,0,0, 5,15,0,0,0,0))
 /**
  * block_rq_requeue - place block IO request back on a queue
  * @rq: block IO operation request
@@ -335,7 +369,8 @@ LTTNG_TRACEPOINT_EVENT(block_rq_requeue,
        )
 )
 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \
-       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0))
+       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0))
 /**
  * block_rq_requeue - place block IO request back on a queue
  * @rq: block IO operation request
@@ -405,7 +440,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_requeue,
  * do for the request. If @rq->bio is non-NULL then there is
  * additional work required to complete the request.
  */
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,162,0,0, 5,15,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(block_rq_complete,
 
        TP_PROTO(struct request *rq, blk_status_t error, unsigned int nr_bytes),
@@ -422,7 +458,8 @@ LTTNG_TRACEPOINT_EVENT(block_rq_complete,
                        lttng_req_op(rq), lttng_req_rw(rq), nr_bytes)
        )
 )
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,16,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,16,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,70,0,0, 5,15,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT(block_rq_complete,
 
        TP_PROTO(struct request *rq, blk_status_t error, unsigned int nr_bytes),
@@ -561,7 +598,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_complete,
 
 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0)) */
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,162,0,0, 5,15,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
 
        TP_PROTO(struct request *rq),
@@ -581,7 +619,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
        )
 )
 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \
-       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0))
+       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
 
        TP_PROTO(struct request *rq),
@@ -717,7 +756,8 @@ LTTNG_TRACEPOINT_EVENT_CLASS_CODE(block_rq,
 #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,11,0)) */
 
 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \
-       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0))
+       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0))
 /**
  * block_rq_insert - insert block operation request into queue
  * @rq: block IO operation request
@@ -753,7 +793,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq, block_rq_insert,
 #endif
 
 #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \
-       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0))
+       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0))
 /**
  * block_rq_issue - issue pending block IO request operation to device driver
  * @rq: block IO operation operation request
@@ -1578,7 +1619,8 @@ LTTNG_TRACEPOINT_EVENT(block_bio_remap,
 )
 #endif
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,17,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(5,14,0,162,0,0, 5,15,0,0,0,0))
 /**
  * block_rq_remap - map request for a block operation request
  * @rq: block IO operation request
@@ -1606,7 +1648,8 @@ LTTNG_TRACEPOINT_EVENT(block_rq_remap,
        )
 )
 #elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,11,0) \
-       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0))
+       || LTTNG_KERNEL_RANGE(5,10,137, 5,11,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(4,18,0,372,0,0, 4,19,0,0,0,0))
 /**
  * block_rq_remap - map request for a block operation request
  * @rq: block IO operation request
This page took 0.025136 seconds and 4 git commands to generate.