X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fmain.c;h=65f598b602fbe92830a7f62595bfd495a881634a;hb=93ec662e687dc15a3601704a1e0c96c51ad228c9;hp=72232122c7a6c2a875124ec569e9b03f7ac9544f;hpb=b4e3ceb9d379829bc5d6ec799f83086317aeafd8;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/main.c b/src/bin/lttng-sessiond/main.c index 72232122c..65f598b60 100644 --- a/src/bin/lttng-sessiond/main.c +++ b/src/bin/lttng-sessiond/main.c @@ -3039,6 +3039,7 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int sock, case LTTNG_SNAPSHOT_RECORD: case LTTNG_SAVE_SESSION: case LTTNG_SET_SESSION_SHM_PATH: + case LTTNG_METADATA_REGENERATE: need_domain = 0; break; default: @@ -3844,19 +3845,19 @@ error_add_context: } case LTTNG_LIST_CHANNELS: { - int nb_chan; + ssize_t payload_size; struct lttng_channel *channels = NULL; - nb_chan = cmd_list_channels(cmd_ctx->lsm->domain.type, + payload_size = cmd_list_channels(cmd_ctx->lsm->domain.type, cmd_ctx->session, &channels); - if (nb_chan < 0) { + if (payload_size < 0) { /* Return value is a negative lttng_error_code. */ - ret = -nb_chan; + ret = -payload_size; goto error; } ret = setup_lttng_msg_no_cmd_header(cmd_ctx, channels, - nb_chan * sizeof(struct lttng_channel)); + payload_size); free(channels); if (ret < 0) { @@ -3873,6 +3874,7 @@ error_add_context: struct lttcomm_event_command_header cmd_header; size_t total_size; + memset(&cmd_header, 0, sizeof(cmd_header)); /* Extended infos are included at the end of events */ nb_event = cmd_list_events(cmd_ctx->lsm->domain.type, cmd_ctx->session, cmd_ctx->lsm->u.list.channel_name, @@ -4142,6 +4144,11 @@ error_add_context: cmd_ctx->lsm->u.set_shm_path.shm_path); break; } + case LTTNG_METADATA_REGENERATE: + { + ret = cmd_metadata_regenerate(cmd_ctx->session); + break; + } default: ret = LTTNG_ERR_UND; break;