Fix: update block instrumentation for SuSE 4.4.114-92
[lttng-modules.git] / instrumentation / events / lttng-module / block.h
index 152609c73b6b82feafb09f305bc9bfe18f01c953..910217bc26a54880578dc1535c47e1a402f694ae 100644 (file)
@@ -33,7 +33,8 @@ enum {
 
 #endif /* _TRACE_BLOCK_DEF_ */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0) || \
+       LTTNG_SLE_KERNEL_RANGE(4,4,73,5,0,0, 4,4,114,92,0,0))
 
 #define lttng_req_op(rq)       req_op(rq)
 #define lttng_req_rw(rq)       ((rq)->cmd_flags)
@@ -168,7 +169,9 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_buffer, block_dirty_buffer,
 )
 #endif
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
+/* block_rq_with_error event class removed in kernel 4.12 */
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
 LTTNG_TRACEPOINT_EVENT_CLASS_CODE(block_rq_with_error,
 
        TP_PROTO(struct request_queue *q, struct request *rq),
@@ -256,6 +259,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS_CODE(block_rq_with_error,
 )
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0)) */
 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0))
 /**
  * block_rq_abort - abort block operation request
  * @q: queue containing the block operation request
@@ -272,6 +276,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_abort,
 
        TP_ARGS(q, rq)
 )
+#endif
 
 /**
  * block_rq_requeue - place block IO request back on a queue
@@ -282,12 +287,30 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_abort,
  * @q.  For some reason the request was not completed and needs to be
  * put back in the queue.
  */
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
+LTTNG_TRACEPOINT_EVENT(block_rq_requeue,
+
+       TP_PROTO(struct request_queue *q, struct request *rq),
+
+       TP_ARGS(q, rq),
+
+       TP_FIELDS(
+               ctf_integer(dev_t, dev,
+                       rq->rq_disk ? disk_devt(rq->rq_disk) : 0)
+               ctf_integer(sector_t, sector, blk_rq_trace_sector(rq))
+               ctf_integer(unsigned int, nr_sector, blk_rq_trace_nr_sectors(rq))
+               blk_rwbs_ctf_integer(unsigned int, rwbs,
+                       lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
+       )
+)
+#else
 LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_requeue,
 
        TP_PROTO(struct request_queue *q, struct request *rq),
 
        TP_ARGS(q, rq)
 )
+#endif
 
 /**
  * block_rq_complete - block IO operation completed by device driver
@@ -301,7 +324,24 @@ 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 (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
+LTTNG_TRACEPOINT_EVENT(block_rq_complete,
+
+       TP_PROTO(struct request *rq, int error, unsigned int nr_bytes),
+
+       TP_ARGS(rq, error, nr_bytes),
+
+       TP_FIELDS(
+               ctf_integer(dev_t, dev,
+                       rq->rq_disk ? disk_devt(rq->rq_disk) : 0)
+               ctf_integer(sector_t, sector, blk_rq_pos(rq))
+               ctf_integer(unsigned int, nr_sector, nr_bytes >> 9)
+               ctf_integer(int, error, error)
+               blk_rwbs_ctf_integer(unsigned int, rwbs,
+                       lttng_req_op(rq), lttng_req_rw(rq), nr_bytes)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
 LTTNG_TRACEPOINT_EVENT_CODE(block_rq_complete,
 
        TP_PROTO(struct request_queue *q, struct request *rq,
@@ -406,7 +446,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_complete,
 
 #endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0)) */
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,12,0))
+LTTNG_TRACEPOINT_EVENT_CLASS(block_rq,
+
+       TP_PROTO(struct request_queue *q, struct request *rq),
+
+       TP_ARGS(q, rq),
+
+       TP_FIELDS(
+               ctf_integer(dev_t, dev,
+                       rq->rq_disk ? disk_devt(rq->rq_disk) : 0)
+               ctf_integer(sector_t, sector, blk_rq_trace_sector(rq))
+               ctf_integer(unsigned int, nr_sector, blk_rq_trace_nr_sectors(rq))
+               ctf_integer(unsigned int, bytes, blk_rq_bytes(rq))
+               ctf_integer(pid_t, tid, current->pid)
+               blk_rwbs_ctf_integer(unsigned int, rwbs,
+                       lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
+               ctf_array_text(char, comm, current->comm, TASK_COMM_LEN)
+       )
+)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,11,0))
 LTTNG_TRACEPOINT_EVENT_CLASS_CODE(block_rq,
 
        TP_PROTO(struct request_queue *q, struct request *rq),
@@ -553,7 +612,11 @@ LTTNG_TRACEPOINT_EVENT(block_bio_bounce,
        TP_ARGS(q, bio),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                ctf_integer(unsigned int, nr_sector, bio_sectors(bio))
@@ -594,7 +657,11 @@ LTTNG_TRACEPOINT_EVENT(block_bio_complete,
 #endif
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                ctf_integer(unsigned int, nr_sector, bio_sectors(bio))
@@ -624,7 +691,11 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_bio_merge,
        TP_ARGS(q, rq, bio),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                ctf_integer(unsigned int, nr_sector, bio_sectors(bio))
@@ -686,7 +757,11 @@ LTTNG_TRACEPOINT_EVENT(block_bio_queue,
        TP_ARGS(q, bio),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                ctf_integer(unsigned int, nr_sector, bio_sectors(bio))
@@ -773,7 +848,11 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_get_rq,
        TP_ARGS(q, bio, rw),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio ? bio_dev(bio) : 0)
+#else
                ctf_integer(dev_t, dev, bio ? bio->bi_bdev->bd_dev : 0)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio ? bio->bi_iter.bi_sector : 0)
                ctf_integer(unsigned int, nr_sector,
@@ -799,7 +878,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_get_rq,
 /**
  * block_getrq - get a free request entry in queue for block IO operations
  * @q: queue for operations
- * @bio: pending block IO operation
+ * @bio: pending block IO operation (can be %NULL)
  * @rw: low bit indicates a read (%0) or a write (%1)
  *
  * A request struct for queue @q has been allocated to handle the
@@ -815,7 +894,7 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(block_get_rq, block_getrq,
 /**
  * block_sleeprq - waiting to get a free request entry in queue for block IO operation
  * @q: queue for operation
- * @bio: pending block IO operation
+ * @bio: pending block IO operation (can be %NULL)
  * @rw: low bit indicates a read (%0) or a write (%1)
  *
  * In the case where a request struct cannot be provided for queue @q
@@ -934,7 +1013,11 @@ LTTNG_TRACEPOINT_EVENT(block_split,
        TP_ARGS(q, bio, new_sector),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                blk_rwbs_ctf_integer(unsigned int, rwbs,
@@ -973,7 +1056,11 @@ LTTNG_TRACEPOINT_EVENT(block_remap,
        TP_ARGS(q, bio, dev, from),
 
        TP_FIELDS(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+               ctf_integer(dev_t, dev, bio_dev(bio))
+#else
                ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+#endif
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
                ctf_integer(sector_t, sector, bio->bi_iter.bi_sector)
                ctf_integer(unsigned int, nr_sector, bio_sectors(bio))
This page took 0.02558 seconds and 4 git commands to generate.