diff options
| author | Jeff Moyer <jmoyer@redhat.com> | 2011-01-06 14:41:42 -0500 |
|---|---|---|
| committer | Jens Axboe <jaxboe@fusionio.com> | 2011-01-07 02:43:55 -0500 |
| commit | b7908c1035af7652cd613991b54dbff9c8b6bd3a (patch) | |
| tree | 91dc24bbb1299ba7f84e22bbaffd28950dd04713 /include/trace | |
| parent | 6c23a9681c0fe7fb7dd331b39dda11926f43746e (diff) | |
block: trace event block fix unassigned field
The "error" field in block_bio_complete is not assigned, leaving the memory area
uninitialized (keeping garbage data). Pass an additional tracepoint argument to
this event to initialize this field.
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Steven Rostedt <rostedt@goodmis.org>
CC: Frederic Weisbecker <fweisbec@gmail.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Li Zefan <lizf@cn.fujitsu.com>
CC: Alan.Brunelle@hp.com
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'include/trace')
| -rw-r--r-- | include/trace/events/block.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/trace/events/block.h b/include/trace/events/block.h index b56c65dc105d..aba421d68f6f 100644 --- a/include/trace/events/block.h +++ b/include/trace/events/block.h | |||
| @@ -206,15 +206,16 @@ TRACE_EVENT(block_bio_bounce, | |||
| 206 | * block_bio_complete - completed all work on the block operation | 206 | * block_bio_complete - completed all work on the block operation |
| 207 | * @q: queue holding the block operation | 207 | * @q: queue holding the block operation |
| 208 | * @bio: block operation completed | 208 | * @bio: block operation completed |
| 209 | * @error: io error value | ||
| 209 | * | 210 | * |
| 210 | * This tracepoint indicates there is no further work to do on this | 211 | * This tracepoint indicates there is no further work to do on this |
| 211 | * block IO operation @bio. | 212 | * block IO operation @bio. |
| 212 | */ | 213 | */ |
| 213 | TRACE_EVENT(block_bio_complete, | 214 | TRACE_EVENT(block_bio_complete, |
| 214 | 215 | ||
| 215 | TP_PROTO(struct request_queue *q, struct bio *bio), | 216 | TP_PROTO(struct request_queue *q, struct bio *bio, int error), |
| 216 | 217 | ||
| 217 | TP_ARGS(q, bio), | 218 | TP_ARGS(q, bio, error), |
| 218 | 219 | ||
| 219 | TP_STRUCT__entry( | 220 | TP_STRUCT__entry( |
| 220 | __field( dev_t, dev ) | 221 | __field( dev_t, dev ) |
| @@ -228,6 +229,7 @@ TRACE_EVENT(block_bio_complete, | |||
| 228 | __entry->dev = bio->bi_bdev->bd_dev; | 229 | __entry->dev = bio->bi_bdev->bd_dev; |
| 229 | __entry->sector = bio->bi_sector; | 230 | __entry->sector = bio->bi_sector; |
| 230 | __entry->nr_sector = bio->bi_size >> 9; | 231 | __entry->nr_sector = bio->bi_size >> 9; |
| 232 | __entry->error = error; | ||
| 231 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); | 233 | blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size); |
| 232 | ), | 234 | ), |
| 233 | 235 | ||
