Refactoring: struct lttng_kernel_channel_buffer_ops
[lttng-modules.git] / src / lttng-ring-buffer-event-notifier-client.h
index b5e91c550c812d538528c9fe17e428dc02836bfd..3b9dbfb7e02b24739f3f2a8696103886b81af631 100644 (file)
@@ -13,6 +13,7 @@
 #include <wrapper/vmalloc.h>   /* for wrapper_vmalloc_sync_mappings() */
 #include <lttng/abi.h>
 #include <lttng/events.h>
+#include <lttng/events-internal.h>
 #include <lttng/tracer.h>
 #include <wrapper/limits.h>
 
@@ -301,15 +302,19 @@ void lttng_write_event_notifier_header(const struct lib_ring_buffer_config *conf
 }
 
 static
-int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx, uint32_t event_id)
+int lttng_event_reserve(struct lib_ring_buffer_ctx *ctx)
 {
+       struct channel *chan = ctx->client_priv;
        int ret;
 
+       memset(&ctx->priv, 0, sizeof(ctx->priv));
+       ctx->priv.chan = chan;
+
        ret = lib_ring_buffer_reserve(&client_config, ctx, NULL);
        if (ret)
                return ret;
        lib_ring_buffer_backend_get_pages(&client_config, ctx,
-                       &ctx->backend_pages);
+                       &ctx->priv.backend_pages);
 
        lttng_write_event_notifier_header(&client_config, ctx);
        return 0;
@@ -395,32 +400,35 @@ static struct lttng_transport lttng_relay_transport = {
        .name = "relay-" RING_BUFFER_MODE_TEMPLATE_STRING,
        .owner = THIS_MODULE,
        .ops = {
-               .channel_create = _channel_create,
-               .channel_destroy = lttng_channel_destroy,
-               .buffer_read_open = lttng_buffer_read_open,
-               .buffer_has_read_closed_stream =
-                       lttng_buffer_has_read_closed_stream,
-               .buffer_read_close = lttng_buffer_read_close,
+               .priv = __LTTNG_COMPOUND_LITERAL(struct lttng_kernel_channel_buffer_ops_private, {
+                       .pub = &lttng_relay_transport.ops,
+                       .channel_create = _channel_create,
+                       .channel_destroy = lttng_channel_destroy,
+                       .buffer_read_open = lttng_buffer_read_open,
+                       .buffer_has_read_closed_stream =
+                               lttng_buffer_has_read_closed_stream,
+                       .buffer_read_close = lttng_buffer_read_close,
+                       .packet_avail_size = lttng_packet_avail_size,
+                       .get_writer_buf_wait_queue = lttng_get_writer_buf_wait_queue,
+                       .get_hp_wait_queue = lttng_get_hp_wait_queue,
+                       .is_finalized = lttng_is_finalized,
+                       .is_disabled = lttng_is_disabled,
+                       .timestamp_begin = client_timestamp_begin,
+                       .timestamp_end = client_timestamp_end,
+                       .events_discarded = client_events_discarded,
+                       .content_size = client_content_size,
+                       .packet_size = client_packet_size,
+                       .stream_id = client_stream_id,
+                       .current_timestamp = client_current_timestamp,
+                       .sequence_number = client_sequence_number,
+                       .instance_id = client_instance_id,
+               }),
                .event_reserve = lttng_event_reserve,
                .event_commit = lttng_event_commit,
                .event_write_from_user = lttng_event_write_from_user,
                .event_memset = lttng_event_memset,
                .event_write = lttng_event_write,
                .event_strcpy = lttng_event_strcpy,
-               .packet_avail_size = lttng_packet_avail_size,
-               .get_writer_buf_wait_queue = lttng_get_writer_buf_wait_queue,
-               .get_hp_wait_queue = lttng_get_hp_wait_queue,
-               .is_finalized = lttng_is_finalized,
-               .is_disabled = lttng_is_disabled,
-               .timestamp_begin = client_timestamp_begin,
-               .timestamp_end = client_timestamp_end,
-               .events_discarded = client_events_discarded,
-               .content_size = client_content_size,
-               .packet_size = client_packet_size,
-               .stream_id = client_stream_id,
-               .current_timestamp = client_current_timestamp,
-               .sequence_number = client_sequence_number,
-               .instance_id = client_instance_id,
        },
 };
 
This page took 0.024295 seconds and 4 git commands to generate.