summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/lttng/lttng-modules/bio-bvec-iter.patch
blob: d6c66e4f2b0a9edaada0fbedeaa65b677017e186 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Upstream-Status: Pending

In 3.14, bi_sector and bi_size were moved into an iterator, thus
breaking any tracepoints that still expect them in the bio.  Fix up
the lttng-module tracepoints to use the new scheme when the kernel
version is >= 3.14.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>

diff --git a/instrumentation/events/lttng-module/block.h b/instrumentation/events/lttng-module/block.h
index f3b8bff..0a61543 100644
--- a/instrumentation/events/lttng-module/block.h
+++ b/instrumentation/events/lttng-module/block.h
@@ -341,9 +341,15 @@ TRACE_EVENT(block_bio_bounce,
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev ?
 					  bio->bi_bdev->bd_dev : 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
 	),
 
@@ -385,14 +391,24 @@ TRACE_EVENT(block_bio_complete,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev->bd_dev)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
 		tp_assign(error, error)
 #else
 		tp_assign(error, 0)
 #endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 	),
 
 	TP_printk("%d,%d %s %llu + %u [%d]",
@@ -419,9 +435,15 @@ DECLARE_EVENT_CLASS(block_bio_merge,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev->bd_dev)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
 	),
 
@@ -485,9 +507,15 @@ TRACE_EVENT(block_bio_queue,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev->bd_dev)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
 	),
 
@@ -513,9 +541,15 @@ DECLARE_EVENT_CLASS(block_bio,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev ? bio->bi_bdev->bd_dev : 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
 	),
 
@@ -587,10 +621,17 @@ DECLARE_EVENT_CLASS(block_get_rq,
 
 	TP_fast_assign(
 		tp_assign(dev, bio ? bio->bi_bdev->bd_dev : 0)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio ? bio->bi_iter.bi_sector : 0)
+		tp_assign(nr_sector, bio ? bio->bi_iter.bi_size >> 9 : 0)
+		blk_fill_rwbs(rwbs, bio ? bio->bi_rw : 0,
+			      bio ? bio->bi_iter.bi_size >> 9 : 0)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio ? bio->bi_sector : 0)
 		tp_assign(nr_sector, bio ? bio->bi_size >> 9 : 0)
 		blk_fill_rwbs(rwbs, bio ? bio->bi_rw : 0,
 			      bio ? bio->bi_size >> 9 : 0)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
         ),
 
@@ -759,9 +800,15 @@ TRACE_EVENT(block_split,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev->bd_dev)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(new_sector, new_sector)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(new_sector, new_sector)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_memcpy(comm, current->comm, TASK_COMM_LEN)
 	),
 
@@ -805,11 +852,19 @@ TRACE_EVENT(block_remap,
 
 	TP_fast_assign(
 		tp_assign(dev, bio->bi_bdev->bd_dev)
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0))
+		tp_assign(sector, bio->bi_iter.bi_sector)
+		tp_assign(nr_sector, bio->bi_iter.bi_size >> 9)
+		tp_assign(old_dev, dev)
+		tp_assign(old_sector, from)
+		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_iter.bi_size)
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 		tp_assign(sector, bio->bi_sector)
 		tp_assign(nr_sector, bio->bi_size >> 9)
 		tp_assign(old_dev, dev)
 		tp_assign(old_sector, from)
 		blk_fill_rwbs(rwbs, bio->bi_rw, bio->bi_size)
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,14,0)) */
 	),
 
 	TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
OpenPOWER on IntegriCloud