X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=ltt-sessiond%2Fmain.c;h=3f9d0eb5e4d55e97a5e6f2440e3b210597ae7c64;hp=b636986f832d7352b572c5a08fbcbaf92ceadfc7;hb=2f50c8a357cc89dacdd536edc34b606304648b0d;hpb=099e26bda04bd3e02eee5b0a17fc0d7f47e3f8ea diff --git a/ltt-sessiond/main.c b/ltt-sessiond/main.c index b636986f8..3f9d0eb5e 100644 --- a/ltt-sessiond/main.c +++ b/ltt-sessiond/main.c @@ -182,7 +182,7 @@ static void teardown_kernel_session(struct ltt_session *session) lttcomm_close_unix_sock(session->kernel_session->consumer_fd); } - trace_destroy_kernel_session(session->kernel_session); + trace_kernel_destroy_session(session->kernel_session); /* Extra precaution */ session->kernel_session = NULL; } @@ -214,7 +214,7 @@ static void cleanup(void) DBG("Cleaning up"); /* */ - MSG("\n%c[%d;%dm*** assert failed *** ==> %c[%dm%c[%d;%dm" + MSG("%c[%d;%dm*** assert failed *** ==> %c[%dm%c[%d;%dm" "Matthew, BEET driven development works!%c[%dm", 27, 1, 31, 27, 0, 27, 1, 33, 27, 0); /* */ @@ -252,8 +252,10 @@ static void cleanup(void) DBG("Closing kernel fd"); close(kernel_tracer_fd); - DBG("Unloading kernel modules"); - modprobe_remove_kernel_modules(); + if (is_root) { + DBG("Unloading kernel modules"); + modprobe_remove_kernel_modules(); + } } /* @@ -1003,8 +1005,12 @@ static void *thread_dispatch_ust_registration(void *data) ust_cmd = caa_container_of(node, struct ust_command, node); - DBG("Dispatching UST registration pid:%d sock:%d", - ust_cmd->reg_msg.pid, ust_cmd->sock); + DBG("Dispatching UST registration pid:%d ppid:%d uid:%d" + " gid:%d sock:%d name:%s (version %d.%d)", + ust_cmd->reg_msg.pid, ust_cmd->reg_msg.ppid, + ust_cmd->reg_msg.uid, ust_cmd->reg_msg.gid, + ust_cmd->sock, ust_cmd->reg_msg.name, + ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor); /* * Inform apps thread of the new application registration. This * call is blocking so we can be assured that the data will be read @@ -1102,8 +1108,12 @@ static void *thread_registration_apps(void *data) */ ret = lttcomm_recv_unix_sock(sock, &ust_cmd->reg_msg, sizeof(struct ust_register_msg)); - if (ret < 0 || ret != sizeof(struct ust_register_msg)) { - perror("lttcomm_recv_unix_sock register apps"); + if (ret < 0 || ret < sizeof(struct ust_register_msg)) { + if (ret < 0) { + perror("lttcomm_recv_unix_sock register apps"); + } else { + ERR("Wrong size received on apps register"); + } free(ust_cmd); close(sock); continue; @@ -1111,6 +1121,12 @@ static void *thread_registration_apps(void *data) ust_cmd->sock = sock; + DBG("UST registration received with pid:%d ppid:%d uid:%d" + " gid:%d sock:%d name:%s (version %d.%d)", + ust_cmd->reg_msg.pid, ust_cmd->reg_msg.ppid, + ust_cmd->reg_msg.uid, ust_cmd->reg_msg.gid, + ust_cmd->sock, ust_cmd->reg_msg.name, + ust_cmd->reg_msg.major, ust_cmd->reg_msg.minor); /* * Lock free enqueue the registration request. * The red pill has been taken! This apps will be part of the *system* @@ -1122,9 +1138,6 @@ static void *thread_registration_apps(void *data) * Implicit memory barrier with the exchange in cds_wfq_enqueue. */ futex_nto1_wake(&ust_cmd_queue.futex); - - DBG("Thread manage apps informed of queued node with sock:%d pid:%d", - sock, ust_cmd->reg_msg.pid); } error: @@ -1561,13 +1574,6 @@ static int create_kernel_session(struct ltt_session *session) session->kernel_session->consumer_fd = kconsumerd_cmd_sock; } - ret = asprintf(&session->kernel_session->trace_path, "%s/kernel", - session->path); - if (ret < 0) { - perror("asprintf kernel traces path"); - goto error; - } - ret = mkdir_recursive(session->kernel_session->trace_path, S_IRWXU | S_IRWXG, geteuid(), allowed_group()); if (ret < 0) { @@ -1807,7 +1813,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: - kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, + kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ret = LTTCOMM_KERN_CHAN_NOT_FOUND; @@ -1845,14 +1851,14 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: - kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, + kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ret = LTTCOMM_KERN_CHAN_NOT_FOUND; goto error; } - kevent = get_kernel_event_by_name(cmd_ctx->lsm->u.disable.name, kchan); + kevent = trace_kernel_get_event_by_name(cmd_ctx->lsm->u.disable.name, kchan); if (kevent != NULL) { DBG("Disabling kernel event %s for channel %s.", kevent->event->name, kchan->channel->name); @@ -1888,7 +1894,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: DBG("Disabling all enabled kernel events"); - kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, + kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.disable.channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ret = LTTCOMM_KERN_CHAN_NOT_FOUND; @@ -1929,7 +1935,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: - kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.enable.channel_name, + kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.enable.channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { /* Channel not found, creating it */ @@ -1987,7 +1993,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: - kchan = get_kernel_channel_by_name(channel_name, + kchan = trace_kernel_get_channel_by_name(channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { DBG("Channel not found. Creating channel %s", channel_name); @@ -2004,7 +2010,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) ret = LTTCOMM_KERN_CHAN_FAIL; goto error; } - kchan = get_kernel_channel_by_name(channel_name, + kchan = trace_kernel_get_channel_by_name(channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ERR("Channel %s not found after creation. Internal error, giving up.", @@ -2014,7 +2020,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) } } - kevent = get_kernel_event_by_name(cmd_ctx->lsm->u.enable.event.name, kchan); + kevent = trace_kernel_get_event_by_name(cmd_ctx->lsm->u.enable.event.name, kchan); if (kevent == NULL) { DBG("Creating kernel event %s for channel %s.", cmd_ctx->lsm->u.enable.event.name, channel_name); @@ -2065,7 +2071,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) switch (cmd_ctx->lsm->domain.type) { case LTTNG_DOMAIN_KERNEL: - kchan = get_kernel_channel_by_name(channel_name, + kchan = trace_kernel_get_channel_by_name(channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { DBG("Channel not found. Creating channel %s", channel_name); @@ -2082,7 +2088,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) ret = LTTCOMM_KERN_CHAN_FAIL; goto error; } - kchan = get_kernel_channel_by_name(channel_name, + kchan = trace_kernel_get_channel_by_name(channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ERR("Channel %s not found after creation. Internal error, giving up.", @@ -2109,7 +2115,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) } for (i = 0; i < size; i++) { - kevent = get_kernel_event_by_name(event_list[i].name, kchan); + kevent = trace_kernel_get_event_by_name(event_list[i].name, kchan); if (kevent == NULL) { /* Default event type for enable all */ event_list[i].type = LTTNG_EVENT_TRACEPOINT; @@ -2393,7 +2399,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx) struct ltt_kernel_channel *kchan = NULL; if (cmd_ctx->session->kernel_session != NULL) { - kchan = get_kernel_channel_by_name(cmd_ctx->lsm->u.list.channel_name, + kchan = trace_kernel_get_channel_by_name(cmd_ctx->lsm->u.list.channel_name, cmd_ctx->session->kernel_session); if (kchan == NULL) { ret = LTTCOMM_KERN_CHAN_NOT_FOUND;