Commit | Line | Data |
---|---|---|
d0b6e04a LZ |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM block | |
3 | ||
55782138 LZ |
4 | #if !defined(_TRACE_BLOCK_H) || defined(TRACE_HEADER_MULTI_READ) |
5 | #define _TRACE_BLOCK_H | |
6 | ||
7 | #include <linux/blktrace_api.h> | |
8 | #include <linux/blkdev.h> | |
9 | #include <linux/tracepoint.h> | |
10 | ||
55782138 LZ |
11 | TRACE_EVENT(block_rq_abort, |
12 | ||
13 | TP_PROTO(struct request_queue *q, struct request *rq), | |
14 | ||
15 | TP_ARGS(q, rq), | |
16 | ||
17 | TP_STRUCT__entry( | |
18 | __field( dev_t, dev ) | |
19 | __field( sector_t, sector ) | |
20 | __field( unsigned int, nr_sector ) | |
21 | __field( int, errors ) | |
22 | __array( char, rwbs, 6 ) | |
23 | __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) | |
24 | ), | |
25 | ||
26 | TP_fast_assign( | |
27 | __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; | |
c9059598 LT |
28 | __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); |
29 | __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); | |
55782138 LZ |
30 | __entry->errors = rq->errors; |
31 | ||
32 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
33 | blk_dump_cmd(__get_str(cmd), rq); | |
34 | ), | |
35 | ||
36 | TP_printk("%d,%d %s (%s) %llu + %u [%d]", | |
37 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
38 | __entry->rwbs, __get_str(cmd), | |
6556d1df SR |
39 | (unsigned long long)__entry->sector, |
40 | __entry->nr_sector, __entry->errors) | |
55782138 LZ |
41 | ); |
42 | ||
43 | TRACE_EVENT(block_rq_insert, | |
44 | ||
45 | TP_PROTO(struct request_queue *q, struct request *rq), | |
46 | ||
47 | TP_ARGS(q, rq), | |
48 | ||
49 | TP_STRUCT__entry( | |
50 | __field( dev_t, dev ) | |
51 | __field( sector_t, sector ) | |
52 | __field( unsigned int, nr_sector ) | |
53 | __field( unsigned int, bytes ) | |
54 | __array( char, rwbs, 6 ) | |
55 | __array( char, comm, TASK_COMM_LEN ) | |
56 | __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) | |
57 | ), | |
58 | ||
59 | TP_fast_assign( | |
60 | __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; | |
c9059598 LT |
61 | __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); |
62 | __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); | |
63 | __entry->bytes = blk_pc_request(rq) ? blk_rq_bytes(rq) : 0; | |
55782138 LZ |
64 | |
65 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
66 | blk_dump_cmd(__get_str(cmd), rq); | |
67 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
68 | ), | |
69 | ||
70 | TP_printk("%d,%d %s %u (%s) %llu + %u [%s]", | |
71 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
72 | __entry->rwbs, __entry->bytes, __get_str(cmd), | |
6556d1df SR |
73 | (unsigned long long)__entry->sector, |
74 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
75 | ); |
76 | ||
77 | TRACE_EVENT(block_rq_issue, | |
78 | ||
79 | TP_PROTO(struct request_queue *q, struct request *rq), | |
80 | ||
81 | TP_ARGS(q, rq), | |
82 | ||
83 | TP_STRUCT__entry( | |
84 | __field( dev_t, dev ) | |
85 | __field( sector_t, sector ) | |
86 | __field( unsigned int, nr_sector ) | |
87 | __field( unsigned int, bytes ) | |
88 | __array( char, rwbs, 6 ) | |
89 | __array( char, comm, TASK_COMM_LEN ) | |
90 | __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) | |
91 | ), | |
92 | ||
93 | TP_fast_assign( | |
94 | __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; | |
c9059598 LT |
95 | __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); |
96 | __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); | |
97 | __entry->bytes = blk_pc_request(rq) ? blk_rq_bytes(rq) : 0; | |
55782138 LZ |
98 | |
99 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
100 | blk_dump_cmd(__get_str(cmd), rq); | |
101 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
102 | ), | |
103 | ||
104 | TP_printk("%d,%d %s %u (%s) %llu + %u [%s]", | |
105 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
106 | __entry->rwbs, __entry->bytes, __get_str(cmd), | |
6556d1df SR |
107 | (unsigned long long)__entry->sector, |
108 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
109 | ); |
110 | ||
111 | TRACE_EVENT(block_rq_requeue, | |
112 | ||
113 | TP_PROTO(struct request_queue *q, struct request *rq), | |
114 | ||
115 | TP_ARGS(q, rq), | |
116 | ||
117 | TP_STRUCT__entry( | |
118 | __field( dev_t, dev ) | |
119 | __field( sector_t, sector ) | |
120 | __field( unsigned int, nr_sector ) | |
121 | __field( int, errors ) | |
122 | __array( char, rwbs, 6 ) | |
123 | __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) | |
124 | ), | |
125 | ||
126 | TP_fast_assign( | |
127 | __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; | |
c9059598 LT |
128 | __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); |
129 | __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); | |
55782138 LZ |
130 | __entry->errors = rq->errors; |
131 | ||
132 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
133 | blk_dump_cmd(__get_str(cmd), rq); | |
134 | ), | |
135 | ||
136 | TP_printk("%d,%d %s (%s) %llu + %u [%d]", | |
137 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
138 | __entry->rwbs, __get_str(cmd), | |
6556d1df SR |
139 | (unsigned long long)__entry->sector, |
140 | __entry->nr_sector, __entry->errors) | |
55782138 LZ |
141 | ); |
142 | ||
143 | TRACE_EVENT(block_rq_complete, | |
144 | ||
145 | TP_PROTO(struct request_queue *q, struct request *rq), | |
146 | ||
147 | TP_ARGS(q, rq), | |
148 | ||
149 | TP_STRUCT__entry( | |
150 | __field( dev_t, dev ) | |
151 | __field( sector_t, sector ) | |
152 | __field( unsigned int, nr_sector ) | |
153 | __field( int, errors ) | |
154 | __array( char, rwbs, 6 ) | |
155 | __dynamic_array( char, cmd, blk_cmd_buf_len(rq) ) | |
156 | ), | |
157 | ||
158 | TP_fast_assign( | |
159 | __entry->dev = rq->rq_disk ? disk_devt(rq->rq_disk) : 0; | |
c9059598 LT |
160 | __entry->sector = blk_pc_request(rq) ? 0 : blk_rq_pos(rq); |
161 | __entry->nr_sector = blk_pc_request(rq) ? 0 : blk_rq_sectors(rq); | |
55782138 LZ |
162 | __entry->errors = rq->errors; |
163 | ||
164 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
165 | blk_dump_cmd(__get_str(cmd), rq); | |
166 | ), | |
167 | ||
168 | TP_printk("%d,%d %s (%s) %llu + %u [%d]", | |
169 | MAJOR(__entry->dev), MINOR(__entry->dev), | |
170 | __entry->rwbs, __get_str(cmd), | |
6556d1df SR |
171 | (unsigned long long)__entry->sector, |
172 | __entry->nr_sector, __entry->errors) | |
55782138 | 173 | ); |
fe63b94a | 174 | |
55782138 LZ |
175 | TRACE_EVENT(block_bio_bounce, |
176 | ||
177 | TP_PROTO(struct request_queue *q, struct bio *bio), | |
178 | ||
179 | TP_ARGS(q, bio), | |
180 | ||
181 | TP_STRUCT__entry( | |
182 | __field( dev_t, dev ) | |
183 | __field( sector_t, sector ) | |
184 | __field( unsigned int, nr_sector ) | |
185 | __array( char, rwbs, 6 ) | |
186 | __array( char, comm, TASK_COMM_LEN ) | |
187 | ), | |
188 | ||
189 | TP_fast_assign( | |
fe63b94a CE |
190 | __entry->dev = bio->bi_bdev ? |
191 | bio->bi_bdev->bd_dev : 0; | |
55782138 LZ |
192 | __entry->sector = bio->bi_sector; |
193 | __entry->nr_sector = bio->bi_size >> 9; | |
194 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
195 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
196 | ), | |
197 | ||
198 | TP_printk("%d,%d %s %llu + %u [%s]", | |
199 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
200 | (unsigned long long)__entry->sector, |
201 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
202 | ); |
203 | ||
204 | TRACE_EVENT(block_bio_complete, | |
205 | ||
206 | TP_PROTO(struct request_queue *q, struct bio *bio), | |
207 | ||
208 | TP_ARGS(q, bio), | |
209 | ||
210 | TP_STRUCT__entry( | |
211 | __field( dev_t, dev ) | |
212 | __field( sector_t, sector ) | |
213 | __field( unsigned, nr_sector ) | |
214 | __field( int, error ) | |
215 | __array( char, rwbs, 6 ) | |
216 | ), | |
217 | ||
218 | TP_fast_assign( | |
219 | __entry->dev = bio->bi_bdev->bd_dev; | |
220 | __entry->sector = bio->bi_sector; | |
221 | __entry->nr_sector = bio->bi_size >> 9; | |
222 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
223 | ), | |
224 | ||
225 | TP_printk("%d,%d %s %llu + %u [%d]", | |
226 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
227 | (unsigned long long)__entry->sector, |
228 | __entry->nr_sector, __entry->error) | |
55782138 LZ |
229 | ); |
230 | ||
231 | TRACE_EVENT(block_bio_backmerge, | |
232 | ||
233 | TP_PROTO(struct request_queue *q, struct bio *bio), | |
234 | ||
235 | TP_ARGS(q, bio), | |
236 | ||
237 | TP_STRUCT__entry( | |
238 | __field( dev_t, dev ) | |
239 | __field( sector_t, sector ) | |
240 | __field( unsigned int, nr_sector ) | |
241 | __array( char, rwbs, 6 ) | |
242 | __array( char, comm, TASK_COMM_LEN ) | |
243 | ), | |
244 | ||
245 | TP_fast_assign( | |
246 | __entry->dev = bio->bi_bdev->bd_dev; | |
247 | __entry->sector = bio->bi_sector; | |
248 | __entry->nr_sector = bio->bi_size >> 9; | |
249 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
250 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
251 | ), | |
252 | ||
253 | TP_printk("%d,%d %s %llu + %u [%s]", | |
254 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
255 | (unsigned long long)__entry->sector, |
256 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
257 | ); |
258 | ||
259 | TRACE_EVENT(block_bio_frontmerge, | |
260 | ||
261 | TP_PROTO(struct request_queue *q, struct bio *bio), | |
262 | ||
263 | TP_ARGS(q, bio), | |
264 | ||
265 | TP_STRUCT__entry( | |
266 | __field( dev_t, dev ) | |
267 | __field( sector_t, sector ) | |
268 | __field( unsigned, nr_sector ) | |
269 | __array( char, rwbs, 6 ) | |
270 | __array( char, comm, TASK_COMM_LEN ) | |
271 | ), | |
272 | ||
273 | TP_fast_assign( | |
274 | __entry->dev = bio->bi_bdev->bd_dev; | |
275 | __entry->sector = bio->bi_sector; | |
276 | __entry->nr_sector = bio->bi_size >> 9; | |
277 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
278 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
279 | ), | |
280 | ||
281 | TP_printk("%d,%d %s %llu + %u [%s]", | |
282 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
283 | (unsigned long long)__entry->sector, |
284 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
285 | ); |
286 | ||
287 | TRACE_EVENT(block_bio_queue, | |
288 | ||
289 | TP_PROTO(struct request_queue *q, struct bio *bio), | |
290 | ||
291 | TP_ARGS(q, bio), | |
292 | ||
293 | TP_STRUCT__entry( | |
294 | __field( dev_t, dev ) | |
295 | __field( sector_t, sector ) | |
296 | __field( unsigned int, nr_sector ) | |
297 | __array( char, rwbs, 6 ) | |
298 | __array( char, comm, TASK_COMM_LEN ) | |
299 | ), | |
300 | ||
301 | TP_fast_assign( | |
302 | __entry->dev = bio->bi_bdev->bd_dev; | |
303 | __entry->sector = bio->bi_sector; | |
304 | __entry->nr_sector = bio->bi_size >> 9; | |
305 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
306 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
307 | ), | |
308 | ||
309 | TP_printk("%d,%d %s %llu + %u [%s]", | |
310 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
311 | (unsigned long long)__entry->sector, |
312 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
313 | ); |
314 | ||
315 | TRACE_EVENT(block_getrq, | |
316 | ||
317 | TP_PROTO(struct request_queue *q, struct bio *bio, int rw), | |
318 | ||
319 | TP_ARGS(q, bio, rw), | |
320 | ||
321 | TP_STRUCT__entry( | |
322 | __field( dev_t, dev ) | |
323 | __field( sector_t, sector ) | |
324 | __field( unsigned int, nr_sector ) | |
325 | __array( char, rwbs, 6 ) | |
326 | __array( char, comm, TASK_COMM_LEN ) | |
327 | ), | |
328 | ||
329 | TP_fast_assign( | |
330 | __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; | |
331 | __entry->sector = bio ? bio->bi_sector : 0; | |
332 | __entry->nr_sector = bio ? bio->bi_size >> 9 : 0; | |
333 | blk_fill_rwbs(__entry->rwbs, | |
334 | bio ? bio->bi_rw : 0, __entry->nr_sector); | |
335 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
336 | ), | |
337 | ||
338 | TP_printk("%d,%d %s %llu + %u [%s]", | |
339 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
340 | (unsigned long long)__entry->sector, |
341 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
342 | ); |
343 | ||
344 | TRACE_EVENT(block_sleeprq, | |
345 | ||
346 | TP_PROTO(struct request_queue *q, struct bio *bio, int rw), | |
347 | ||
348 | TP_ARGS(q, bio, rw), | |
349 | ||
350 | TP_STRUCT__entry( | |
351 | __field( dev_t, dev ) | |
352 | __field( sector_t, sector ) | |
353 | __field( unsigned int, nr_sector ) | |
354 | __array( char, rwbs, 6 ) | |
355 | __array( char, comm, TASK_COMM_LEN ) | |
356 | ), | |
357 | ||
358 | TP_fast_assign( | |
359 | __entry->dev = bio ? bio->bi_bdev->bd_dev : 0; | |
360 | __entry->sector = bio ? bio->bi_sector : 0; | |
361 | __entry->nr_sector = bio ? bio->bi_size >> 9 : 0; | |
362 | blk_fill_rwbs(__entry->rwbs, | |
363 | bio ? bio->bi_rw : 0, __entry->nr_sector); | |
364 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
365 | ), | |
366 | ||
367 | TP_printk("%d,%d %s %llu + %u [%s]", | |
368 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
369 | (unsigned long long)__entry->sector, |
370 | __entry->nr_sector, __entry->comm) | |
55782138 LZ |
371 | ); |
372 | ||
373 | TRACE_EVENT(block_plug, | |
374 | ||
375 | TP_PROTO(struct request_queue *q), | |
376 | ||
377 | TP_ARGS(q), | |
378 | ||
379 | TP_STRUCT__entry( | |
380 | __array( char, comm, TASK_COMM_LEN ) | |
381 | ), | |
382 | ||
383 | TP_fast_assign( | |
384 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
385 | ), | |
386 | ||
387 | TP_printk("[%s]", __entry->comm) | |
388 | ); | |
389 | ||
390 | TRACE_EVENT(block_unplug_timer, | |
391 | ||
392 | TP_PROTO(struct request_queue *q), | |
393 | ||
394 | TP_ARGS(q), | |
395 | ||
396 | TP_STRUCT__entry( | |
397 | __field( int, nr_rq ) | |
398 | __array( char, comm, TASK_COMM_LEN ) | |
399 | ), | |
400 | ||
401 | TP_fast_assign( | |
402 | __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE]; | |
403 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
404 | ), | |
405 | ||
406 | TP_printk("[%s] %d", __entry->comm, __entry->nr_rq) | |
407 | ); | |
408 | ||
409 | TRACE_EVENT(block_unplug_io, | |
410 | ||
411 | TP_PROTO(struct request_queue *q), | |
412 | ||
413 | TP_ARGS(q), | |
414 | ||
415 | TP_STRUCT__entry( | |
416 | __field( int, nr_rq ) | |
417 | __array( char, comm, TASK_COMM_LEN ) | |
418 | ), | |
419 | ||
420 | TP_fast_assign( | |
421 | __entry->nr_rq = q->rq.count[READ] + q->rq.count[WRITE]; | |
422 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
423 | ), | |
424 | ||
425 | TP_printk("[%s] %d", __entry->comm, __entry->nr_rq) | |
426 | ); | |
427 | ||
428 | TRACE_EVENT(block_split, | |
429 | ||
430 | TP_PROTO(struct request_queue *q, struct bio *bio, | |
431 | unsigned int new_sector), | |
432 | ||
433 | TP_ARGS(q, bio, new_sector), | |
434 | ||
435 | TP_STRUCT__entry( | |
436 | __field( dev_t, dev ) | |
437 | __field( sector_t, sector ) | |
438 | __field( sector_t, new_sector ) | |
439 | __array( char, rwbs, 6 ) | |
440 | __array( char, comm, TASK_COMM_LEN ) | |
441 | ), | |
442 | ||
443 | TP_fast_assign( | |
444 | __entry->dev = bio->bi_bdev->bd_dev; | |
445 | __entry->sector = bio->bi_sector; | |
446 | __entry->new_sector = new_sector; | |
447 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
448 | memcpy(__entry->comm, current->comm, TASK_COMM_LEN); | |
449 | ), | |
450 | ||
451 | TP_printk("%d,%d %s %llu / %llu [%s]", | |
452 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
453 | (unsigned long long)__entry->sector, |
454 | (unsigned long long)__entry->new_sector, | |
455 | __entry->comm) | |
55782138 LZ |
456 | ); |
457 | ||
458 | TRACE_EVENT(block_remap, | |
459 | ||
460 | TP_PROTO(struct request_queue *q, struct bio *bio, dev_t dev, | |
461 | sector_t from), | |
462 | ||
463 | TP_ARGS(q, bio, dev, from), | |
464 | ||
465 | TP_STRUCT__entry( | |
466 | __field( dev_t, dev ) | |
467 | __field( sector_t, sector ) | |
468 | __field( unsigned int, nr_sector ) | |
469 | __field( dev_t, old_dev ) | |
470 | __field( sector_t, old_sector ) | |
471 | __array( char, rwbs, 6 ) | |
472 | ), | |
473 | ||
474 | TP_fast_assign( | |
475 | __entry->dev = bio->bi_bdev->bd_dev; | |
476 | __entry->sector = bio->bi_sector; | |
477 | __entry->nr_sector = bio->bi_size >> 9; | |
478 | __entry->old_dev = dev; | |
479 | __entry->old_sector = from; | |
480 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | |
481 | ), | |
482 | ||
483 | TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", | |
484 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
6556d1df SR |
485 | (unsigned long long)__entry->sector, |
486 | __entry->nr_sector, | |
55782138 | 487 | MAJOR(__entry->old_dev), MINOR(__entry->old_dev), |
6556d1df | 488 | (unsigned long long)__entry->old_sector) |
55782138 LZ |
489 | ); |
490 | ||
b0da3f0d JN |
491 | TRACE_EVENT(block_rq_remap, |
492 | ||
493 | TP_PROTO(struct request_queue *q, struct request *rq, dev_t dev, | |
494 | sector_t from), | |
495 | ||
496 | TP_ARGS(q, rq, dev, from), | |
497 | ||
498 | TP_STRUCT__entry( | |
499 | __field( dev_t, dev ) | |
500 | __field( sector_t, sector ) | |
501 | __field( unsigned int, nr_sector ) | |
502 | __field( dev_t, old_dev ) | |
503 | __field( sector_t, old_sector ) | |
504 | __array( char, rwbs, 6 ) | |
505 | ), | |
506 | ||
507 | TP_fast_assign( | |
508 | __entry->dev = disk_devt(rq->rq_disk); | |
509 | __entry->sector = blk_rq_pos(rq); | |
510 | __entry->nr_sector = blk_rq_sectors(rq); | |
511 | __entry->old_dev = dev; | |
512 | __entry->old_sector = from; | |
513 | blk_fill_rwbs_rq(__entry->rwbs, rq); | |
514 | ), | |
515 | ||
516 | TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu", | |
517 | MAJOR(__entry->dev), MINOR(__entry->dev), __entry->rwbs, | |
518 | (unsigned long long)__entry->sector, | |
519 | __entry->nr_sector, | |
520 | MAJOR(__entry->old_dev), MINOR(__entry->old_dev), | |
521 | (unsigned long long)__entry->old_sector) | |
522 | ); | |
523 | ||
55782138 LZ |
524 | #endif /* _TRACE_BLOCK_H */ |
525 | ||
526 | /* This part must be outside protection */ | |
527 | #include <trace/define_trace.h> | |
528 |