Build fix: missing initializer for member 'rotation_positions'
[lttng-tools.git] / src / bin / lttng-relayd / index.cpp
index f2f102e64d4714d945551435dc5f41e83cb394db..a20ae2658a505cfab8431546e458e960ac83f203 100644 (file)
@@ -9,14 +9,14 @@
 
 #define _LGPL_SOURCE
 
-#include <common/common.h>
-#include <common/utils.h>
-#include <common/compat/endian.h>
+#include <common/common.hpp>
+#include <common/utils.hpp>
+#include <common/compat/endian.hpp>
 
-#include "lttng-relayd.h"
-#include "stream.h"
-#include "index.h"
-#include "connection.h"
+#include "lttng-relayd.hpp"
+#include "stream.hpp"
+#include "index.hpp"
+#include "connection.hpp"
 
 /*
  * Allocate a new relay index object. Pass the stream in which it is
@@ -34,7 +34,7 @@ static struct relay_index *relay_index_create(struct relay_stream *stream,
        DBG2("Creating relay index for stream id %" PRIu64 " and seqnum %" PRIu64,
                        stream->stream_handle, net_seq_num);
 
-       index = (relay_index *) zmalloc(sizeof(*index));
+       index = zmalloc<relay_index>();
        if (!index) {
                PERROR("Relay index zmalloc");
                goto end;
@@ -67,6 +67,8 @@ static struct relay_index *relay_index_add_unique(struct relay_stream *stream,
        struct cds_lfht_node *node_ptr;
        struct relay_index *_index;
 
+       ASSERT_RCU_READ_LOCKED();
+
        DBG2("Adding relay index with stream id %" PRIu64 " and seqnum %" PRIu64,
                        stream->stream_handle, index->index_n.key);
 
@@ -88,6 +90,8 @@ static struct relay_index *relay_index_add_unique(struct relay_stream *stream,
  */
 static bool relay_index_get(struct relay_index *index)
 {
+       ASSERT_RCU_READ_LOCKED();
+
        DBG2("index get for stream id %" PRIu64 " and seqnum %" PRIu64 " refcount %d",
                        index->stream->stream_handle, index->index_n.key,
                        (int) index->ref.refcount);
@@ -116,7 +120,7 @@ struct relay_index *relay_index_get_by_id_or_create(struct relay_stream *stream,
        lttng_ht_lookup(stream->indexes_ht, &net_seq_num, &iter);
        node = lttng_ht_iter_get_node_u64(&iter);
        if (node) {
-               index = caa_container_of(node, struct relay_index, index_n);
+               index = lttng::utils::container_of(node, &relay_index::index_n);
        } else {
                struct relay_index *oldindex;
 
@@ -196,7 +200,7 @@ static void index_destroy(struct relay_index *index)
 static void index_destroy_rcu(struct rcu_head *rcu_head)
 {
        struct relay_index *index =
-               caa_container_of(rcu_head, struct relay_index, rcu_node);
+               lttng::utils::container_of(rcu_head, &relay_index::rcu_node);
 
        index_destroy(index);
 }
@@ -204,7 +208,7 @@ static void index_destroy_rcu(struct rcu_head *rcu_head)
 /* Stream lock must be held by the caller. */
 static void index_release(struct urcu_ref *ref)
 {
-       struct relay_index *index = caa_container_of(ref, struct relay_index, ref);
+       struct relay_index *index = lttng::utils::container_of(ref, &relay_index::ref);
        struct relay_stream *stream = index->stream;
        int ret;
        struct lttng_ht_iter iter;
This page took 0.029185 seconds and 4 git commands to generate.