X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Frotate.c;h=cdf95f353dbbfa2cb0ba276cdba6292d26dc92ae;hp=813a1a0dc0847d699da2cf72251e8af0d4c88e45;hb=HEAD;hpb=7b0027b3e2a8b3120980f43a58f132ee58b69f54 diff --git a/src/bin/lttng-sessiond/rotate.c b/src/bin/lttng-sessiond/rotate.c deleted file mode 100644 index 813a1a0dc..000000000 --- a/src/bin/lttng-sessiond/rotate.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - * Copyright (C) 2017 Julien Desfossez - * Copyright (C) 2018 Jérémie Galarneau - * - * SPDX-License-Identifier: GPL-2.0-only - * - */ - -#define _LGPL_SOURCE -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "session.h" -#include "rotate.h" -#include "rotation-thread.h" -#include "lttng-sessiond.h" -#include "health-sessiond.h" -#include "cmd.h" -#include "utils.h" -#include "notification-thread-commands.h" - -#include -#include -#include - -int subscribe_session_consumed_size_rotation(struct ltt_session *session, uint64_t size, - struct notification_thread_handle *notification_thread_handle) -{ - int ret; - enum lttng_condition_status condition_status; - enum lttng_notification_channel_status nc_status; - struct lttng_action *action; - const struct lttng_credentials session_creds = { - .uid = session->uid, - .gid = session->gid, - }; - - session->rotate_condition = lttng_condition_session_consumed_size_create(); - if (!session->rotate_condition) { - ERR("Failed to create session consumed size condition object"); - ret = -1; - goto end; - } - - condition_status = lttng_condition_session_consumed_size_set_threshold( - session->rotate_condition, size); - if (condition_status != LTTNG_CONDITION_STATUS_OK) { - ERR("Could not set session consumed size condition threshold (size = %" PRIu64 ")", - size); - ret = -1; - goto end; - } - - condition_status = - lttng_condition_session_consumed_size_set_session_name( - session->rotate_condition, session->name); - if (condition_status != LTTNG_CONDITION_STATUS_OK) { - ERR("Could not set session consumed size condition session name (name = %s)", - session->name); - ret = -1; - goto end; - } - - action = lttng_action_notify_create(); - if (!action) { - ERR("Could not create notify action"); - ret = -1; - goto end; - } - - session->rotate_trigger = lttng_trigger_create(session->rotate_condition, - action); - if (!session->rotate_trigger) { - ERR("Could not create size-based rotation trigger"); - ret = -1; - goto end; - } - - lttng_trigger_set_credentials( - session->rotate_trigger, &session_creds); - - nc_status = lttng_notification_channel_subscribe( - rotate_notification_channel, session->rotate_condition); - if (nc_status != LTTNG_NOTIFICATION_CHANNEL_STATUS_OK) { - ERR("Could not subscribe to session consumed size notification"); - ret = -1; - goto end; - } - - ret = notification_thread_command_register_trigger( - notification_thread_handle, session->rotate_trigger); - if (ret < 0 && ret != -LTTNG_ERR_TRIGGER_EXISTS) { - ERR("Register trigger, %s", lttng_strerror(ret)); - ret = -1; - goto end; - } - - ret = 0; - -end: - return ret; -} - -int unsubscribe_session_consumed_size_rotation(struct ltt_session *session, - struct notification_thread_handle *notification_thread_handle) -{ - int ret = 0; - enum lttng_notification_channel_status status; - - status = lttng_notification_channel_unsubscribe( - rotate_notification_channel, - session->rotate_condition); - if (status != LTTNG_NOTIFICATION_CHANNEL_STATUS_OK) { - ERR("Session unsubscribe error: %d", (int) status); - ret = -1; - goto end; - } - - ret = notification_thread_command_unregister_trigger( - notification_thread_handle, session->rotate_trigger); - if (ret != LTTNG_OK) { - ERR("Session unregister trigger error: %d", ret); - goto end; - } - - ret = 0; -end: - return ret; -}