X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Frelayd%2Frelayd.c;h=448d19e6e30c2a16b89f3732147659b8159cf051;hb=8966b2b03f62a03e132f504853e9699152e9399b;hp=a4c8a9261c29a9e58fc96e3023a68d8da8c44d68;hpb=d3e2ba59faddb31870e2ce29b6a881f7ad5ad883;p=lttng-tools.git diff --git a/src/common/relayd/relayd.c b/src/common/relayd/relayd.c index a4c8a9261..448d19e6e 100644 --- a/src/common/relayd/relayd.c +++ b/src/common/relayd/relayd.c @@ -26,7 +26,7 @@ #include #include #include -#include +#include #include "relayd.h" @@ -122,7 +122,7 @@ error: */ static int relayd_create_session_2_4(struct lttcomm_relayd_sock *rsock, uint64_t *session_id, char *session_name, char *hostname, - int session_live_timer) + int session_live_timer, unsigned int snapshot) { int ret; struct lttcomm_relayd_create_session_2_4 msg; @@ -130,6 +130,7 @@ static int relayd_create_session_2_4(struct lttcomm_relayd_sock *rsock, strncpy(msg.session_name, session_name, sizeof(msg.session_name)); strncpy(msg.hostname, hostname, sizeof(msg.hostname)); msg.live_timer = htobe32(session_live_timer); + msg.snapshot = htobe32(snapshot); /* Send command */ ret = send_command(rsock, RELAYD_CREATE_SESSION, &msg, sizeof(msg), 0); @@ -167,7 +168,8 @@ error: * a lttng error code from the relayd. */ int relayd_create_session(struct lttcomm_relayd_sock *rsock, uint64_t *session_id, - char *session_name, char *hostname, int session_live_timer) + char *session_name, char *hostname, int session_live_timer, + unsigned int snapshot) { int ret; struct lttcomm_relayd_status_session reply; @@ -182,11 +184,12 @@ int relayd_create_session(struct lttcomm_relayd_sock *rsock, uint64_t *session_i case 2: case 3: ret = relayd_create_session_2_1(rsock, session_id); + break; case 4: default: - ret = relayd_create_session_2_4(rsock, session_id, - session_name, hostname, - session_live_timer); + ret = relayd_create_session_2_4(rsock, session_id, session_name, + hostname, session_live_timer, snapshot); + break; } if (ret < 0) { @@ -688,7 +691,7 @@ error: int relayd_end_data_pending(struct lttcomm_relayd_sock *rsock, uint64_t id, unsigned int *is_data_inflight) { - int ret; + int ret, recv_ret; struct lttcomm_relayd_end_data_pending msg; struct lttcomm_relayd_generic_reply reply; @@ -711,15 +714,15 @@ int relayd_end_data_pending(struct lttcomm_relayd_sock *rsock, uint64_t id, goto error; } - reply.ret_code = be32toh(reply.ret_code); - if (reply.ret_code < 0) { - ret = reply.ret_code; + recv_ret = be32toh(reply.ret_code); + if (recv_ret < 0) { + ret = recv_ret; goto error; } - *is_data_inflight = reply.ret_code; + *is_data_inflight = recv_ret; - DBG("Relayd end data pending is data inflight: %d", reply.ret_code); + DBG("Relayd end data pending is data inflight: %d", recv_ret); return 0; @@ -731,7 +734,7 @@ error: * Send index to the relayd. */ int relayd_send_index(struct lttcomm_relayd_sock *rsock, - struct lttng_packet_index *index, uint64_t relay_stream_id, + struct ctf_packet_index *index, uint64_t relay_stream_id, uint64_t net_seq_num) { int ret;