Fix: update block instrumentation for kernel 4.14
[lttng-modules.git] / instrumentation / events / lttng-module / block.h
index c43d747110e21b908bdb17d26b9502daf75a0f36..80ea25cadd40076ece8484d356eae18703dd95d9 100644 (file)
@@ -33,6 +33,13 @@ enum {
 
 #endif /* _TRACE_BLOCK_DEF_ */
 
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,14,0))
+#define lttng_bio_dev(bio) bio_dev(bio)
+#else
+#define lttng_bio_dev(bio) ((bio)->bi_bdev ? (bio)->bi_bdev->bd_dev : 0)
+#endif
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0))
 
 #define lttng_req_op(rq)       req_op(rq)
@@ -611,7 +618,7 @@ LTTNG_TRACEPOINT_EVENT(block_bio_bounce,
        TP_ARGS(q, bio),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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))
@@ -652,7 +659,7 @@ LTTNG_TRACEPOINT_EVENT(block_bio_complete,
 #endif
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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))
@@ -682,7 +689,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_bio_merge,
        TP_ARGS(q, rq, bio),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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))
@@ -744,7 +751,7 @@ LTTNG_TRACEPOINT_EVENT(block_bio_queue,
        TP_ARGS(q, bio),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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))
@@ -769,7 +776,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_bio,
        TP_ARGS(q, bio),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
                ctf_integer(sector_t, sector, bio->bi_sector)
                ctf_integer(unsigned int, nr_sector, bio->bi_size >> 9)
                blk_rwbs_ctf_integer(unsigned int, rwbs,
@@ -831,7 +838,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(block_get_rq,
        TP_ARGS(q, bio, rw),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio ? bio->bi_bdev->bd_dev : 0)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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,
@@ -992,7 +999,7 @@ LTTNG_TRACEPOINT_EVENT(block_split,
        TP_ARGS(q, bio, new_sector),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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,
@@ -1031,7 +1038,7 @@ LTTNG_TRACEPOINT_EVENT(block_remap,
        TP_ARGS(q, bio, dev, from),
 
        TP_FIELDS(
-               ctf_integer(dev_t, dev, bio->bi_bdev->bd_dev)
+               ctf_integer(dev_t, dev, lttng_bio_dev(bio))
 #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.02446 seconds and 4 git commands to generate.