diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-11-26 02:16:29 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-11-26 02:16:29 -0500 |
commit | 9ebd818d51547b98c108db1a8b8a70b72027613b (patch) | |
tree | 4a75a2ae4c95b2d25d90dec3547a916883743cfb | |
parent | 11838f077aebbdfe19f69d25aff9ce67fa99f3b4 (diff) |
Add offset to record structure
When a record is read, we want to know its offset in the file. This
allows us to retrieve this record at a later time directly.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | trace-cmd.h | 1 | ||||
-rw-r--r-- | trace-input.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/trace-cmd.h b/trace-cmd.h index f95f11d..741e69d 100644 --- a/trace-cmd.h +++ b/trace-cmd.h | |||
@@ -28,6 +28,7 @@ enum { | |||
28 | 28 | ||
29 | struct record { | 29 | struct record { |
30 | unsigned long long ts; | 30 | unsigned long long ts; |
31 | unsigned long long offset; | ||
31 | int size; | 32 | int size; |
32 | void *data; | 33 | void *data; |
33 | }; | 34 | }; |
diff --git a/trace-input.c b/trace-input.c index c3085b8..b1e98d5 100644 --- a/trace-input.c +++ b/trace-input.c | |||
@@ -521,6 +521,9 @@ read_old_format(struct tracecmd_handle *handle, void **ptr, int cpu) | |||
521 | unsigned int len; | 521 | unsigned int len; |
522 | unsigned int delta; | 522 | unsigned int delta; |
523 | unsigned int length; | 523 | unsigned int length; |
524 | int index; | ||
525 | |||
526 | index = calc_index(handle, *ptr, cpu); | ||
524 | 527 | ||
525 | type_len_ts = data2host4(*ptr); | 528 | type_len_ts = data2host4(*ptr); |
526 | *ptr += 4; | 529 | *ptr += 4; |
@@ -568,6 +571,8 @@ read_old_format(struct tracecmd_handle *handle, void **ptr, int cpu) | |||
568 | data->ts = handle->cpu_data[cpu].timestamp; | 571 | data->ts = handle->cpu_data[cpu].timestamp; |
569 | data->size = length; | 572 | data->size = length; |
570 | data->data = *ptr; | 573 | data->data = *ptr; |
574 | data->offset = handle->cpu_data[cpu].offset + index; | ||
575 | |||
571 | 576 | ||
572 | *ptr += ((length+3)/4) * 4; | 577 | *ptr += ((length+3)/4) * 4; |
573 | 578 | ||
@@ -692,6 +697,8 @@ read_again: | |||
692 | data->ts = handle->cpu_data[cpu].timestamp; | 697 | data->ts = handle->cpu_data[cpu].timestamp; |
693 | data->size = length; | 698 | data->size = length; |
694 | data->data = ptr; | 699 | data->data = ptr; |
700 | data->offset = handle->cpu_data[cpu].offset + index; | ||
701 | |||
695 | ptr += length; | 702 | ptr += length; |
696 | 703 | ||
697 | handle->cpu_data[cpu].index = calc_index(handle, ptr, cpu); | 704 | handle->cpu_data[cpu].index = calc_index(handle, ptr, cpu); |