Cleanup: remove duplicated code in snapshot record command
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index e3118f1910048fefd890742eb3fa44c0491ef062..9268a277956aab08ff2d1d04d2e93258c4e3ce5e 100644 (file)
@@ -24,6 +24,7 @@
 #include <inttypes.h>
 
 #include <common/common.h>
+#include <common/trace-chunk.h>
 #include <common/kernel-ctl/kernel-ctl.h>
 #include <common/kernel-ctl/kernel-ioctl.h>
 #include <common/sessiond-comm/sessiond-comm.h>
@@ -1159,12 +1160,15 @@ end_boot_id:
  */
 void kernel_destroy_session(struct ltt_kernel_session *ksess)
 {
+       struct lttng_trace_chunk *trace_chunk;
+
        if (ksess == NULL) {
                DBG3("No kernel session when tearing down session");
                return;
        }
 
        DBG("Tearing down kernel session");
+       trace_chunk = ksess->current_trace_chunk;
 
        /*
         * Destroy channels on the consumer if at least one FD has been sent and we
@@ -1198,6 +1202,7 @@ void kernel_destroy_session(struct ltt_kernel_session *ksess)
        consumer_output_send_destroy_relayd(ksess->consumer);
 
        trace_kernel_destroy_session(ksess);
+       lttng_trace_chunk_put(trace_chunk);
 }
 
 /*
@@ -1235,8 +1240,9 @@ void kernel_destroy_channel(struct ltt_kernel_channel *kchan)
  *
  * Return LTTNG_OK on success or else return a LTTNG_ERR code.
  */
-enum lttng_error_code kernel_snapshot_record(struct ltt_kernel_session *ksess,
-               struct snapshot_output *output, int wait,
+enum lttng_error_code kernel_snapshot_record(
+               struct ltt_kernel_session *ksess,
+               const struct snapshot_output *output, int wait,
                uint64_t nb_packets_per_stream)
 {
        int err, ret, saved_metadata_fd;
@@ -1432,7 +1438,7 @@ enum lttng_error_code kernel_rotate_session(struct ltt_session *session)
                                        chan->key, session->name);
                        ret = consumer_rotate_channel(socket, chan->key,
                                        ksess->uid, ksess->gid, ksess->consumer,
-                                       ksess->consumer->subdir,
+                                       ksess->consumer->domain_subdir,
                                        /* is_metadata_channel */ false,
                                        session->current_archive_id);
                        if (ret < 0) {
@@ -1446,7 +1452,7 @@ enum lttng_error_code kernel_rotate_session(struct ltt_session *session)
                 */
                ret = consumer_rotate_channel(socket, ksess->metadata->key,
                                ksess->uid, ksess->gid, ksess->consumer,
-                               ksess->consumer->subdir,
+                               ksess->consumer->domain_subdir,
                                /* is_metadata_channel */ true,
                                session->current_archive_id);
                if (ret < 0) {
This page took 0.025947 seconds and 5 git commands to generate.