From: Jonathan Rajotte Date: Mon, 12 Aug 2019 21:30:45 +0000 (-0400) Subject: Fix: use utils_get_home_dir for anonymous trace chunk path X-Git-Tag: v2.12.0-rc1~496 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=a620c891bde6720d24c9c391fdcbc070d319d04c Fix: use utils_get_home_dir for anonymous trace chunk path The default behaviour of lttng_directory_handle_init will set the current working directory if opt_output_path is null. Instead we want to honour LTTNG_HOME/HOME. Signed-off-by: Jonathan Rajotte Signed-off-by: Mathieu Desnoyers Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-relayd/session.c b/src/bin/lttng-relayd/session.c index 28e75f1dc..1359e9f4b 100644 --- a/src/bin/lttng-relayd/session.c +++ b/src/bin/lttng-relayd/session.c @@ -19,14 +19,15 @@ #define _LGPL_SOURCE #include +#include #include #include -#include "lttng-relayd.h" #include "ctf-trace.h" +#include "lttng-relayd.h" #include "session.h" -#include "stream.h" #include "sessiond-trace-chunks.h" +#include "stream.h" /* Global session id used in the session creation. */ static uint64_t last_relay_session_id; @@ -38,8 +39,20 @@ static int session_set_anonymous_chunk(struct relay_session *session) struct lttng_trace_chunk *chunk = NULL; enum lttng_trace_chunk_status status; struct lttng_directory_handle output_directory; + char *base_path = opt_output_path; + + if (base_path == NULL) { + /* No output path defined */ + base_path = utils_get_home_dir(); + if (base_path == NULL) { + ERR("Home path not found.\n \ + Please specify an output path using -o, --output PATH"); + ret = -1; + goto end; + } + } - ret = lttng_directory_handle_init(&output_directory, opt_output_path); + ret = lttng_directory_handle_init(&output_directory, base_path); if (ret) { goto end; }