X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fcmd.c;h=5e1a59a5032d72758c9216a553bb9208f5f733a5;hb=db1da059574b86008035b12968446863ab6de866;hp=d26d8de0bf661b7714914645558edcb2922e2f1d;hpb=1e791a74976525f287944e5dbb65208a3b9edf42;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/cmd.c b/src/bin/lttng-sessiond/cmd.c index d26d8de0b..5e1a59a50 100644 --- a/src/bin/lttng-sessiond/cmd.c +++ b/src/bin/lttng-sessiond/cmd.c @@ -1039,7 +1039,8 @@ static enum lttng_error_code send_consumer_relayd_socket( struct consumer_socket *consumer_sock, const char *session_name, const char *hostname, int session_live_timer, - const uint64_t *current_chunk_id) + const uint64_t *current_chunk_id, + time_t session_creation_time) { int ret; struct lttcomm_relayd_sock *rsock = NULL; @@ -1068,7 +1069,7 @@ static enum lttng_error_code send_consumer_relayd_socket( ret = consumer_send_relayd_socket(consumer_sock, rsock, consumer, relayd_uri->stype, session_id, session_name, hostname, session_live_timer, - current_chunk_id); + current_chunk_id, session_creation_time); if (ret < 0) { status = LTTNG_ERR_ENABLE_CONSUMER_FAIL; goto close_sock; @@ -1116,7 +1117,7 @@ static enum lttng_error_code send_consumer_relayd_sockets( unsigned int session_id, struct consumer_output *consumer, struct consumer_socket *sock, const char *session_name, const char *hostname, int session_live_timer, - const uint64_t *current_chunk_id) + const uint64_t *current_chunk_id, time_t session_creation_time) { enum lttng_error_code status = LTTNG_OK; @@ -1128,7 +1129,7 @@ static enum lttng_error_code send_consumer_relayd_sockets( status = send_consumer_relayd_socket(session_id, &consumer->dst.net.control, consumer, sock, session_name, hostname, session_live_timer, - current_chunk_id); + current_chunk_id, session_creation_time); if (status != LTTNG_OK) { goto error; } @@ -1139,7 +1140,7 @@ static enum lttng_error_code send_consumer_relayd_sockets( status = send_consumer_relayd_socket(session_id, &consumer->dst.net.data, consumer, sock, session_name, hostname, session_live_timer, - current_chunk_id); + current_chunk_id, session_creation_time); if (status != LTTNG_OK) { goto error; } @@ -1195,7 +1196,8 @@ int cmd_setup_relayd(struct ltt_session *session) usess->consumer, socket, session->name, session->hostname, session->live_timer, - current_chunk_id.is_set ? ¤t_chunk_id.value : NULL); + current_chunk_id.is_set ? ¤t_chunk_id.value : NULL, + session->creation_time); pthread_mutex_unlock(socket->lock); if (ret != LTTNG_OK) { goto error; @@ -1218,7 +1220,8 @@ int cmd_setup_relayd(struct ltt_session *session) ksess->consumer, socket, session->name, session->hostname, session->live_timer, - current_chunk_id.is_set ? ¤t_chunk_id.value : NULL); + current_chunk_id.is_set ? ¤t_chunk_id.value : NULL, + session->creation_time); pthread_mutex_unlock(socket->lock); if (ret != LTTNG_OK) { goto error; @@ -4243,7 +4246,8 @@ static enum lttng_error_code set_relayd_for_snapshot( snap_output->consumer, socket, session->name, session->hostname, session->live_timer, - current_chunk_id.is_set ? ¤t_chunk_id.value : NULL); + current_chunk_id.is_set ? ¤t_chunk_id.value : NULL, + session->creation_time); pthread_mutex_unlock(socket->lock); if (status != LTTNG_OK) { rcu_read_unlock(); @@ -4504,7 +4508,8 @@ enum lttng_error_code snapshot_record(struct ltt_session *session, } } - if (session_close_trace_chunk(session, session->current_trace_chunk)) { + if (session_close_trace_chunk( + session, session->current_trace_chunk, NULL)) { /* * Don't goto end; make sure the chunk is closed for the session * to allow future snapshots. @@ -4750,14 +4755,6 @@ int cmd_rotate_session(struct ltt_session *session, &ongoing_rotation_chunk_id); assert(chunk_status == LTTNG_TRACE_CHUNK_STATUS_OK); - chunk_status = lttng_trace_chunk_set_close_command( - chunk_being_archived, - LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED); - if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) { - cmd_ret = LTTNG_ERR_FATAL; - goto error; - } - if (session->kernel_session) { cmd_ret = kernel_rotate_session(session); if (cmd_ret != LTTNG_OK) { @@ -4771,7 +4768,9 @@ int cmd_rotate_session(struct ltt_session *session, } } - ret = session_close_trace_chunk(session, chunk_being_archived); + ret = session_close_trace_chunk(session, chunk_being_archived, + &((enum lttng_trace_chunk_command_type) { + LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED})); if (ret) { cmd_ret = LTTNG_ERR_CLOSE_TRACE_CHUNK_FAIL_CONSUMER; goto error;