Generate session name and default output on sessiond's end
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index edb7f7b2f2f3f83efd53ac077f005b26388d52d9..b4fc995ce118762630292f4a9623fcd78c5995cf 100644 (file)
@@ -1244,7 +1244,7 @@ enum lttng_error_code kernel_snapshot_record(struct ltt_kernel_session *ksess,
        struct consumer_socket *socket;
        struct lttng_ht_iter iter;
        struct ltt_kernel_metadata *saved_metadata;
-       struct ltt_session *session;
+       struct ltt_session *session = NULL;
        uint64_t trace_archive_id;
 
        assert(ksess);
@@ -1297,7 +1297,7 @@ enum lttng_error_code kernel_snapshot_record(struct ltt_kernel_session *ksess,
                /* Put back the saved consumer output into the session. */
                ksess->consumer = saved_output;
                if (ret < 0) {
-                       status = LTTNG_ERR_KERN_CONSUMER_FAIL;
+                       status = LTTNG_ERR_KERN_META_FAIL;
                        goto error_consumer;
                }
 
@@ -1344,7 +1344,9 @@ error:
        /* Restore metadata state.*/
        ksess->metadata = saved_metadata;
        ksess->metadata_stream_fd = saved_metadata_fd;
-
+       if (session) {
+               session_put(session);
+       }
        rcu_read_unlock();
        return status;
 }
@@ -1430,7 +1432,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) {
@@ -1444,7 +1446,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.025369 seconds and 4 git commands to generate.