X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=trunk%2Flttv%2Fltt%2Ftracefile.c;h=c33e1877e9011ab21098d73984b1239d842f4fbb;hb=a2bbf2e560ae184cd17b33cf859c11275918df68;hp=1d411e3e3f2ad94cc31e60e1bdbc53c35956534d;hpb=e0c7c4004c56c9ad749889225f9b53aedc01fb30;p=lttv.git diff --git a/trunk/lttv/ltt/tracefile.c b/trunk/lttv/ltt/tracefile.c index 1d411e3e..c33e1877 100644 --- a/trunk/lttv/ltt/tracefile.c +++ b/trunk/lttv/ltt/tracefile.c @@ -152,9 +152,9 @@ static int parse_trace_header(ltt_subbuffer_header_t *header, break; case 2: switch(header->minor_version) { - case 1: + case 2: { - struct ltt_subbuffer_header_2_1 *vheader = header; + struct ltt_subbuffer_header_2_2 *vheader = header; tf->buffer_header_size = ltt_subbuffer_header_size(); tf->tscbits = 27; tf->eventbits = 5; @@ -265,6 +265,8 @@ static gint ltt_tracefile_open(LttTrace *t, gchar * fileName, LttTracefile *tf) tf->file_size = lTDFStat.st_size; tf->buf_size = ltt_get_uint32(LTT_GET_BO(tf), &header->buf_size); tf->num_blocks = tf->file_size / tf->buf_size; + tf->events_lost = 0; + tf->subbuf_corrupt = 0; if(munmap(tf->buffer.head, PAGE_ALIGN(ltt_subbuffer_header_size()))) { @@ -1385,6 +1387,21 @@ static gint map_block(LttTracefile * tf, guint block_num) tf->event.block = block_num; tf->event.offset = 0; + if (header->events_lost) { + g_warning("%d events lost so far in tracefile %s at block %u", + tf->events_lost - header->events_lost, + g_quark_to_string(tf->long_name), + block_num); + tf->events_lost = header->events_lost; + } + if (header->subbuf_corrupt) { + g_warning("%d subbuffer(s) corrupted so far in tracefile %s at block %u", + tf->subbuf_corrupt - header->subbuf_corrupt, + g_quark_to_string(tf->long_name), + block_num); + tf->subbuf_corrupt = header->subbuf_corrupt; + } + return 0; map_error: