-#endif
-
-#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),
-
- TP_ARGS(q, rq),
-
- TP_locvar(
- sector_t sector;
- unsigned int nr_sector;
- unsigned char *cmd;
- size_t cmd_len;
- ),
-
- TP_code_pre(
- if (blk_rq_is_scsi(rq)) {
- struct scsi_request *scsi_rq = scsi_req(rq);
- tp_locvar->sector = 0;
- tp_locvar->nr_sector = 0;
- tp_locvar->cmd = scsi_rq->cmd;
- tp_locvar->cmd_len = scsi_rq->cmd_len;
- } else {
- tp_locvar->sector = blk_rq_pos(rq);
- tp_locvar->nr_sector = blk_rq_sectors(rq);
- tp_locvar->cmd = NULL;
- tp_locvar->cmd_len = 0;
- }
- ),
-
- TP_FIELDS(
- ctf_integer(dev_t, dev,
- rq->rq_disk ? disk_devt(rq->rq_disk) : 0)
- ctf_integer(sector_t, sector, tp_locvar->sector)
- ctf_integer(unsigned int, nr_sector, tp_locvar->nr_sector)
- ctf_integer(int, errors, rq->errors)
- blk_rwbs_ctf_integer(unsigned int, rwbs,
- lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
- ctf_sequence_hex(unsigned char, cmd,
- tp_locvar->cmd, size_t, tp_locvar->cmd_len)
- ),
-
- TP_code_post()
-)
-#else /* #if (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),
-
- TP_ARGS(q, rq),
-
- TP_locvar(
- sector_t sector;
- unsigned int nr_sector;
- unsigned char *cmd;
- size_t cmd_len;
- ),
-
- TP_code_pre(
-
- if (rq->cmd_type == REQ_TYPE_BLOCK_PC) {
- tp_locvar->sector = 0;
- tp_locvar->nr_sector = 0;
- tp_locvar->cmd = rq->cmd;
- tp_locvar->cmd_len = rq->cmd_len;
- } else {
- tp_locvar->sector = blk_rq_pos(rq);
- tp_locvar->nr_sector = blk_rq_sectors(rq);
- tp_locvar->cmd = NULL;
- tp_locvar->cmd_len = 0;
- }
- ),
-
- TP_FIELDS(
- ctf_integer(dev_t, dev,
- rq->rq_disk ? disk_devt(rq->rq_disk) : 0)
- ctf_integer(sector_t, sector, tp_locvar->sector)
- ctf_integer(unsigned int, nr_sector, tp_locvar->nr_sector)
- ctf_integer(int, errors, rq->errors)
- blk_rwbs_ctf_integer(unsigned int, rwbs,
- lttng_req_op(rq), lttng_req_rw(rq), blk_rq_bytes(rq))
- ctf_sequence_hex(unsigned char, cmd,
- tp_locvar->cmd, size_t, tp_locvar->cmd_len)
- ),
-
- TP_code_post()
-)
-#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
- * @rq: block IO operation request
- *
- * Called immediately after pending block IO operation request @rq in
- * queue @q is aborted. The fields in the operation request @rq
- * can be examined to determine which device and sectors the pending
- * operation would access.
- */
-LTTNG_TRACEPOINT_EVENT_INSTANCE(block_rq_with_error, block_rq_abort,
-
- TP_PROTO(struct request_queue *q, struct request *rq),
-
- TP_ARGS(q, rq)
-)
-#endif