From a620c891bde6720d24c9c391fdcbc070d319d04c Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Mon, 12 Aug 2019 17:30:45 -0400 Subject: [PATCH] Fix: use utils_get_home_dir for anonymous trace chunk path MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/bin/lttng-relayd/session.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) 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; } -- 2.34.1