/* A trace chunk is uniquely identified by its (session id, chunk id) tuple. */
struct lttng_trace_chunk_registry_element {
- uint64_t session_id;
struct lttng_trace_chunk chunk;
+ uint64_t session_id;
/* Weak and only set when added. */
struct lttng_trace_chunk_registry *registry;
struct cds_lfht_node trace_chunk_registry_ht_node;
struct cds_lfht *ht;
};
-const char *close_command_names[] = {
+static const
+char *close_command_names[] = {
[LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED] =
"move to completed chunk folder",
};
+static const
chunk_close_command close_command_funcs[] = {
[LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED] =
lttng_trace_chunk_move_to_completed,
{
int ret = 0;
char *new_name= NULL;
- char start_datetime[sizeof("YYYYmmddTHHMMSS+HHMM")] = {};
- char end_datetime_suffix[sizeof("-YYYYmmddTHHMMSS+HHMM")] = {};
+ char start_datetime[ISO8601_STR_LEN] = {};
+ /* Add 1 for a '-' prefix. */
+ char end_datetime_suffix[ISO8601_STR_LEN + 1] = {};
ret = time_to_iso8601_str(
creation_timestamp,
ret = time_to_iso8601_str(
*close_timestamp,
end_datetime_suffix + 1,
- sizeof(end_datetime_suffix));
+ sizeof(end_datetime_suffix) - 1);
if (ret) {
ERR("Failed to format trace chunk end date time");
goto error;
return false;
}
- len = strnlen(name, LTTNG_NAME_MAX);
+ len = lttng_strnlen(name, LTTNG_NAME_MAX);
if (len == 0 || len == LTTNG_NAME_MAX) {
return false;
}
}
if (!found) {
- char *copy = strndup(new_path, new_path_top_level_len);
+ char *copy = lttng_strndup(new_path, new_path_top_level_len);
DBG("Adding new top-level directory \"%s\" to trace chunk \"%s\"",
new_path, chunk->name ? : "(unnamed)");
if (close_command < LTTNG_TRACE_CHUNK_COMMAND_TYPE_MOVE_TO_COMPLETED ||
close_command >= LTTNG_TRACE_CHUNK_COMMAND_TYPE_MAX) {
status = LTTNG_TRACE_CHUNK_STATUS_INVALID_ARGUMENT;
- goto end_unlock;
+ goto end;
}
pthread_mutex_lock(&chunk->lock);
}
LTTNG_OPTIONAL_SET(&chunk->close_command, close_command);
pthread_mutex_unlock(&chunk->lock);
-end_unlock:
+end:
return status;
}
return registry;
error:
lttng_trace_chunk_registry_destroy(registry);
- goto end;
+ return NULL;
}
LTTNG_HIDDEN