Fix: propagate archive id to the consumer daemon on stream creation
[lttng-tools.git] / src / common / consumer / consumer.c
index 3638273d0797d55f549d1047175f2087a3919c5f..3e991c8c71035f6ee9f43f768db27247209e8707 100644 (file)
@@ -562,7 +562,8 @@ struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key,
                int cpu,
                int *alloc_ret,
                enum consumer_channel_type type,
-               unsigned int monitor)
+               unsigned int monitor,
+               uint64_t trace_archive_id)
 {
        int ret;
        struct lttng_consumer_stream *stream;
@@ -589,6 +590,7 @@ struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key,
        stream->endpoint_status = CONSUMER_ENDPOINT_ACTIVE;
        stream->index_file = NULL;
        stream->last_sequence_number = -1ULL;
+       stream->trace_archive_id = trace_archive_id;
        pthread_mutex_init(&stream->lock, NULL);
        pthread_mutex_init(&stream->metadata_timer_lock, NULL);
 
@@ -1475,7 +1477,7 @@ void lttng_consumer_destroy(struct lttng_consumer_local_data *ctx)
  */
 static int write_relayd_metadata_id(int fd,
                struct lttng_consumer_stream *stream,
-               struct consumer_relayd_sock_pair *relayd, unsigned long padding)
+               unsigned long padding)
 {
        ssize_t ret;
        struct lttcomm_relayd_metadata_payload hdr;
@@ -1610,7 +1612,7 @@ ssize_t lttng_consumer_on_read_subbuffer_mmap(
 
                /* Write metadata stream id before payload */
                if (stream->metadata_flag) {
-                       ret = write_relayd_metadata_id(outfd, stream, relayd, padding);
+                       ret = write_relayd_metadata_id(outfd, stream, padding);
                        if (ret < 0) {
                                relayd_hang_up = 1;
                                goto write_error;
@@ -1799,7 +1801,7 @@ ssize_t lttng_consumer_on_read_subbuffer_splice(
                                }
                                stream->reset_metadata_flag = 0;
                        }
-                       ret = write_relayd_metadata_id(splice_pipe[1], stream, relayd,
+                       ret = write_relayd_metadata_id(splice_pipe[1], stream,
                                        padding);
                        if (ret < 0) {
                                written = ret;
This page took 0.02656 seconds and 5 git commands to generate.