projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: move set base_path of session to URI configuration
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
session.c
diff --git
a/src/bin/lttng-sessiond/session.c
b/src/bin/lttng-sessiond/session.c
index 7fba07bb438c0cfcfbe3ae1d1bfdd7a3a9f95ce8..ed68d153f20749630012c93a4487f6dad6efec96 100644
(file)
--- a/
src/bin/lttng-sessiond/session.c
+++ b/
src/bin/lttng-sessiond/session.c
@@
-262,15
+262,15
@@
struct lttng_trace_archive_location *session_get_trace_archive_location(
goto end;
}
goto end;
}
- ret = asprintf(&chunk_path, "%s/" DEFAULT_ARCHIVED_TRACE_CHUNKS_DIRECTORY "/%s",
- session_get_base_path(session),
- session->last_archived_chunk_name);
- if (ret == -1) {
- goto end;
- }
-
switch (session_get_consumer_destination_type(session)) {
case CONSUMER_DST_LOCAL:
switch (session_get_consumer_destination_type(session)) {
case CONSUMER_DST_LOCAL:
+ ret = asprintf(&chunk_path,
+ "%s/" DEFAULT_ARCHIVED_TRACE_CHUNKS_DIRECTORY "/%s",
+ session_get_base_path(session),
+ session->last_archived_chunk_name);
+ if (ret == -1) {
+ goto end;
+ }
location = lttng_trace_archive_location_local_create(
chunk_path);
break;
location = lttng_trace_archive_location_local_create(
chunk_path);
break;
@@
-286,7
+286,7
@@
struct lttng_trace_archive_location *session_get_trace_archive_location(
location = lttng_trace_archive_location_relay_create(
hostname,
LTTNG_TRACE_ARCHIVE_LOCATION_RELAY_PROTOCOL_TYPE_TCP,
location = lttng_trace_archive_location_relay_create(
hostname,
LTTNG_TRACE_ARCHIVE_LOCATION_RELAY_PROTOCOL_TYPE_TCP,
- control_port, data_port, chunk_path);
+ control_port, data_port,
session->last_
chunk_path);
break;
}
default:
break;
}
default:
@@
-423,7
+423,7
@@
int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
struct lttng_trace_chunk *new_trace_chunk,
struct lttng_trace_chunk **_current_trace_chunk)
{
struct lttng_trace_chunk *new_trace_chunk,
struct lttng_trace_chunk **_current_trace_chunk)
{
- int ret;
+ int ret
= 0
;
unsigned int i, refs_to_acquire = 0, refs_acquired = 0, refs_to_release = 0;
struct cds_lfht_iter iter;
struct consumer_socket *socket;
unsigned int i, refs_to_acquire = 0, refs_acquired = 0, refs_to_release = 0;
struct cds_lfht_iter iter;
struct consumer_socket *socket;
@@
-482,7
+482,6
@@
int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
ret_error_code = ust_app_create_channel_subdirectories(
session->ust_session);
if (ret_error_code != LTTNG_OK) {
ret_error_code = ust_app_create_channel_subdirectories(
session->ust_session);
if (ret_error_code != LTTNG_OK) {
- ret = -ret_error_code;
goto error;
}
}
goto error;
}
}
@@
-513,7
+512,6
@@
int _session_set_trace_chunk_no_lock_check(struct ltt_session *session,
ret_error_code = kernel_create_channel_subdirectories(
session->kernel_session);
if (ret_error_code != LTTNG_OK) {
ret_error_code = kernel_create_channel_subdirectories(
session->kernel_session);
if (ret_error_code != LTTNG_OK) {
- ret = -ret_error_code;
goto error;
}
}
goto error;
}
}
@@
-663,7
+661,8
@@
error:
int session_close_trace_chunk(const struct ltt_session *session,
struct lttng_trace_chunk *trace_chunk,
int session_close_trace_chunk(const struct ltt_session *session,
struct lttng_trace_chunk *trace_chunk,
- const enum lttng_trace_chunk_command_type *close_command)
+ const enum lttng_trace_chunk_command_type *close_command,
+ char *closed_trace_chunk_path)
{
int ret = 0;
bool error_occurred = false;
{
int ret = 0;
bool error_occurred = false;
@@
-707,7
+706,7
@@
int session_close_trace_chunk(const struct ltt_session *session,
ret = consumer_close_trace_chunk(socket,
relayd_id,
session->id,
ret = consumer_close_trace_chunk(socket,
relayd_id,
session->id,
- trace_chunk);
+ trace_chunk
, closed_trace_chunk_path
);
pthread_mutex_unlock(socket->lock);
if (ret) {
ERR("Failed to close trace chunk on user space consumer");
pthread_mutex_unlock(socket->lock);
if (ret) {
ERR("Failed to close trace chunk on user space consumer");
@@
-726,7
+725,7
@@
int session_close_trace_chunk(const struct ltt_session *session,
ret = consumer_close_trace_chunk(socket,
relayd_id,
session->id,
ret = consumer_close_trace_chunk(socket,
relayd_id,
session->id,
- trace_chunk);
+ trace_chunk
, closed_trace_chunk_path
);
pthread_mutex_unlock(socket->lock);
if (ret) {
ERR("Failed to close trace chunk on kernel consumer");
pthread_mutex_unlock(socket->lock);
if (ret) {
ERR("Failed to close trace chunk on kernel consumer");
@@
-812,7
+811,6
@@
void session_release(struct urcu_ref *ref)
DBG("Destroying session %s (id %" PRIu64 ")", session->name, session->id);
DBG("Destroying session %s (id %" PRIu64 ")", session->name, session->id);
- consumer_output_put(session->consumer);
snapshot_destroy(&session->snapshot);
pthread_mutex_destroy(&session->lock);
snapshot_destroy(&session->snapshot);
pthread_mutex_destroy(&session->lock);
@@
-824,6
+822,7
@@
void session_release(struct urcu_ref *ref)
}
session_notify_destruction(session);
}
session_notify_destruction(session);
+ consumer_output_put(session->consumer);
kernel_free_session(ksess);
session->kernel_session = NULL;
if (usess) {
kernel_free_session(ksess);
session->kernel_session = NULL;
if (usess) {
@@
-963,7
+962,7
@@
end:
* Session list lock must be held by the caller.
*/
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
* Session list lock must be held by the caller.
*/
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
-
const char *base_path,
struct ltt_session **out_session)
+ struct ltt_session **out_session)
{
int ret;
enum lttng_error_code ret_code;
{
int ret;
enum lttng_error_code ret_code;
@@
-1087,16
+1086,6
@@
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
}
}
}
}
- if (base_path) {
- new_session->base_path = strdup(base_path);
- if (!new_session->base_path) {
- ERR("Failed to allocate base path of session \"%s\"",
- name);
- ret_code = LTTNG_ERR_SESSION_FAIL;
- goto error;
- }
- }
-
new_session->uid = uid;
new_session->gid = gid;
new_session->uid = uid;
new_session->gid = gid;
@@
-1164,7
+1153,7
@@
int session_access_ok(struct ltt_session *session, uid_t uid, gid_t gid)
*
* Be careful of the result passed to this function. For instance,
* on failure to launch a rotation, a client will expect the rotation
*
* Be careful of the result passed to this function. For instance,
* on failure to launch a rotation, a client will expect the rotation
- * state to be set to "NO_ROTATION". If an error occured while the
+ * state to be set to "NO_ROTATION". If an error occur
r
ed while the
* rotation was "ONGOING", result should be set to "ERROR", which will
* allow a client to report it.
*
* rotation was "ONGOING", result should be set to "ERROR", which will
* allow a client to report it.
*
This page took
0.025463 seconds
and
4
git commands to generate.