X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-consumer.c;h=d85e32aa0ce9f2a011887fd4b9a1c70e541ccca0;hb=618a6a28c0956fc6829c165a39ffec97f239096c;hp=7f01de9ea55516223a78fc885886aa774485f934;hpb=331744e34f56a5aec69b05d356d6901e67926acc;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-consumer.c b/src/bin/lttng-sessiond/ust-consumer.c index 7f01de9ea..d85e32aa0 100644 --- a/src/bin/lttng-sessiond/ust-consumer.c +++ b/src/bin/lttng-sessiond/ust-consumer.c @@ -61,7 +61,7 @@ static char *setup_trace_path(struct consumer_output *consumer, /* Get correct path name destination */ if (consumer->type == CONSUMER_DST_LOCAL) { /* Set application path to the destination path */ - ret = snprintf(pathname, PATH_MAX, "%s/%s/%s", + ret = snprintf(pathname, PATH_MAX, "%s%s%s", consumer->dst.trace_path, consumer->subdir, ua_sess->path); if (ret < 0) { PERROR("snprintf channel path"); @@ -78,7 +78,7 @@ static char *setup_trace_path(struct consumer_output *consumer, } } } else { - ret = snprintf(pathname, PATH_MAX, "%s/%s", consumer->subdir, + ret = snprintf(pathname, PATH_MAX, "%s%s", consumer->subdir, ua_sess->path); if (ret < 0) { PERROR("snprintf channel path"); @@ -155,7 +155,11 @@ static int ask_channel_creation(struct ust_app_session *ua_sess, consumer->net_seq_index, ua_chan->key, registry->uuid, - chan_id); + chan_id, + ua_chan->tracefile_size, + ua_chan->tracefile_count, + ua_sess->id, + ua_sess->output_traces); health_code_update(); @@ -201,6 +205,12 @@ int ust_consumer_ask_channel(struct ust_app_session *ua_sess, assert(socket->fd >= 0); assert(registry); + if (!consumer->enabled) { + ret = -LTTNG_ERR_NO_CONSUMER; + DBG3("Consumer is disabled"); + goto error; + } + pthread_mutex_lock(socket->lock); ret = ask_channel_creation(ua_sess, ua_chan, consumer, socket, registry); @@ -437,7 +447,7 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) goto end; } - DBG("Metadata request received for session %u, key %" PRIu64, + DBG("Metadata request received for session %" PRIu64 ", key %" PRIu64, request.session_id, request.key); reg_uid = buffer_reg_uid_find(request.session_id, @@ -446,10 +456,10 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) ust_reg = reg_uid->registry->reg.ust; } else { struct buffer_reg_pid *reg_pid = - buffer_reg_pid_find(request.session_id); + buffer_reg_pid_find(request.session_id_per_pid); if (!reg_pid) { - DBG("PID registry not found for session id %u", - request.session_id); + DBG("PID registry not found for session id %" PRIu64, + request.session_id_per_pid); msg.cmd_type = LTTNG_ERR_UND; (void) consumer_send_msg(socket, &msg);