struct lttng_trace_chunk *chunk = NULL, *published_chunk = NULL;
enum lttng_error_code reply_code = LTTNG_OK;
enum lttng_trace_chunk_status chunk_status;
- struct lttng_directory_handle *session_output = NULL;
const char *new_path;
if (!session || !conn->version_check_done) {
goto end;
}
- session_output = session_create_output_directory_handle(
- conn->session);
- if (!session_output) {
- reply_code = LTTNG_ERR_CREATE_DIR_FAIL;
- goto end;
- }
- chunk_status = lttng_trace_chunk_set_as_owner(chunk, session_output);
- lttng_directory_handle_put(session_output);
- session_output = NULL;
+ assert(conn->session->output_directory);
+ chunk_status = lttng_trace_chunk_set_as_owner(chunk,
+ conn->session->output_directory);
if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
reply_code = LTTNG_ERR_UNK;
ret = -1;
end_no_reply:
lttng_trace_chunk_put(chunk);
lttng_trace_chunk_put(published_chunk);
- lttng_directory_handle_put(session_output);
return ret;
}
bool thread_is_rcu_registered = false;
int ret = 0, retval = 0;
void *status;
+ char *unlinked_file_directory_path = NULL, *output_path = NULL;
/* Parse environment variables */
ret = parse_env_options();
rcu_register_thread();
thread_is_rcu_registered = true;
- the_fd_tracker = fd_tracker_create(lttng_opt_fd_pool_size);
+ output_path = create_output_path("");
+ if (!output_path) {
+ ERR("Failed to get output path");
+ retval = -1;
+ goto exit_options;
+ }
+ ret = asprintf(&unlinked_file_directory_path, "%s/%s", output_path,
+ DEFAULT_UNLINKED_FILES_DIRECTORY);
+ free(output_path);
+ if (ret < 0) {
+ ERR("Failed to format unlinked file directory path");
+ retval = -1;
+ goto exit_options;
+ }
+ the_fd_tracker = fd_tracker_create(
+ unlinked_file_directory_path, lttng_opt_fd_pool_size);
+ free(unlinked_file_directory_path);
if (!the_fd_tracker) {
retval = -1;
goto exit_options;