X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Frelayd%2Frelayd.c;h=fb459699d32a68ddbf93d001df1829d93798181f;hp=08bbad23bc89a15339496ff62ab944c1a699b1bc;hb=d295668767ac8234e83984e1812d342d03293d88;hpb=fb9a95c4d6242bd8336b638c90a7d8f846125659 diff --git a/src/common/relayd/relayd.c b/src/common/relayd/relayd.c index 08bbad23b..fb459699d 100644 --- a/src/common/relayd/relayd.c +++ b/src/common/relayd/relayd.c @@ -29,6 +29,7 @@ #include #include #include +#include #include "relayd.h" @@ -416,7 +417,7 @@ error: int relayd_add_stream(struct lttcomm_relayd_sock *rsock, const char *channel_name, const char *pathname, uint64_t *stream_id, uint64_t tracefile_size, uint64_t tracefile_count, - uint64_t trace_archive_id) + struct lttng_trace_chunk *trace_chunk) { int ret; struct lttcomm_relayd_status_stream reply; @@ -431,17 +432,27 @@ int relayd_add_stream(struct lttcomm_relayd_sock *rsock, const char *channel_nam /* Compat with relayd 2.1 */ if (rsock->minor == 1) { /* For 2.1 */ + assert(!trace_chunk); ret = relayd_add_stream_2_1(rsock, channel_name, pathname); } else if (rsock->minor > 1 && rsock->minor < 11) { /* From 2.2 to 2.10 */ + assert(!trace_chunk); ret = relayd_add_stream_2_2(rsock, channel_name, pathname, tracefile_size, tracefile_count); } else { + enum lttng_trace_chunk_status chunk_status; + uint64_t chunk_id; + + assert(trace_chunk); + chunk_status = lttng_trace_chunk_get_id(trace_chunk, + &chunk_id); + assert(chunk_status == LTTNG_TRACE_CHUNK_STATUS_OK); + /* From 2.11 to ...*/ ret = relayd_add_stream_2_11(rsock, channel_name, pathname, tracefile_size, tracefile_count, - trace_archive_id); + chunk_id); } if (ret) { @@ -1099,14 +1110,15 @@ error: } int relayd_rotate_stream(struct lttcomm_relayd_sock *rsock, uint64_t stream_id, - const char *new_pathname, uint64_t new_chunk_id, - uint64_t seq_num) + uint64_t new_chunk_id, uint64_t seq_num) { int ret; struct lttcomm_relayd_rotate_stream *msg = NULL; struct lttcomm_relayd_generic_reply reply; size_t len; int msg_len; + /* FIXME */ + char *new_pathname = NULL; /* Code flow error. Safety net. */ assert(rsock);