relayd: tracefile array: Allow head position to skip ahead
[lttng-tools.git] / src / bin / lttng-relayd / stream.c
index c0aeb17190d187e12155e8a162ef89204647df2b..d34158bd22dd0f1895f31419869979c356aee935 100644 (file)
@@ -1086,8 +1086,14 @@ int stream_write(struct relay_stream *stream,
        }
 
        if (stream->is_metadata) {
-               stream->metadata_received += packet ? packet->size : 0;
-               stream->metadata_received += padding_len;
+               size_t recv_len;
+
+               recv_len = packet ? packet->size : 0;
+               recv_len += padding_len;
+               stream->metadata_received += recv_len;
+               if (recv_len) {
+                       stream->no_new_metadata_notified = false;
+               }
        }
 
        DBG("Wrote to %sstream %" PRIu64 ": data_length = %zu, padding_length = %zu",
@@ -1154,7 +1160,7 @@ int stream_update_index(struct relay_stream *stream, uint64_t net_seq_num,
        ret = relay_index_try_flush(index);
        if (ret == 0) {
                tracefile_array_file_rotate(stream->tfa, TRACEFILE_ROTATE_READ);
-               tracefile_array_commit_seq(stream->tfa);
+               tracefile_array_commit_seq(stream->tfa, stream->index_received_seqcount);
                stream->index_received_seqcount++;
                LTTNG_OPTIONAL_SET(&stream->received_packet_seq_num,
                        be64toh(index->index_data.packet_seq_num));
@@ -1250,7 +1256,7 @@ int stream_add_index(struct relay_stream *stream,
        ret = relay_index_try_flush(index);
        if (ret == 0) {
                tracefile_array_file_rotate(stream->tfa, TRACEFILE_ROTATE_READ);
-               tracefile_array_commit_seq(stream->tfa);
+               tracefile_array_commit_seq(stream->tfa, stream->index_received_seqcount);
                stream->index_received_seqcount++;
                stream->pos_after_last_complete_data_index += index->total_size;
                stream->prev_index_seq = index_info->net_seq_num;
This page took 0.023966 seconds and 4 git commands to generate.