X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fsession.c;h=09953b48218d6b592d4f8e1ad4d69ef0461ab3d7;hb=be2956e7f73ef08fa3182ae636ba6cd7725fdaaf;hp=20edd47e4c707a109b350795c0eb1d725406b7bf;hpb=348a81dcf7b6944b10a813d93dcaf86fdb5194f6;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/session.c b/src/bin/lttng-sessiond/session.c index 20edd47e4..09953b482 100644 --- a/src/bin/lttng-sessiond/session.c +++ b/src/bin/lttng-sessiond/session.c @@ -564,9 +564,12 @@ error: goto end_no_move; } -static -bool output_supports_trace_chunks(const struct consumer_output *output) +bool session_output_supports_trace_chunks(const struct ltt_session *session) { + const struct consumer_output *output = session->kernel_session ? + session->kernel_session->consumer : + session->ust_session->consumer; + if (output->type == CONSUMER_DST_LOCAL) { return true; } else { @@ -619,9 +622,6 @@ struct lttng_trace_chunk *session_create_new_trace_chunk( goto error; } - if (!output_supports_trace_chunks(output)) { - goto end; - } next_chunk_id = session->most_recent_chunk_id.is_set ? session->most_recent_chunk_id.value + 1 : 0; @@ -715,12 +715,15 @@ int session_close_trace_chunk(const struct ltt_session *session, } if (session->ust_session) { + const uint64_t relayd_id = + session->ust_session->consumer->net_seq_index; + cds_lfht_for_each_entry( session->ust_session->consumer->socks->ht, &iter, socket, node.node) { pthread_mutex_lock(socket->lock); ret = consumer_close_trace_chunk(socket, - session->consumer->net_seq_index, + relayd_id, session->id, trace_chunk); pthread_mutex_unlock(socket->lock); @@ -731,12 +734,15 @@ int session_close_trace_chunk(const struct ltt_session *session, } } if (session->kernel_session) { + const uint64_t relayd_id = + session->kernel_session->consumer->net_seq_index; + cds_lfht_for_each_entry( session->kernel_session->consumer->socks->ht, &iter, socket, node.node) { pthread_mutex_lock(socket->lock); ret = consumer_close_trace_chunk(socket, - session->consumer->net_seq_index, + relayd_id, session->id, trace_chunk); pthread_mutex_unlock(socket->lock);