Fix: consumer: 64-bit index for relayd rather than 32-bit (v2)
[lttng-tools.git] / src / common / consumer.h
index bf87609f3f1aea428128895cdab7ba20cf1f8568..3cfcb87809189fe1c8dc688e76bcf3defd8e8f76 100644 (file)
@@ -102,6 +102,11 @@ struct lttng_consumer_channel {
        int refcount;
        /* Tracing session id on the session daemon side. */
        uint64_t session_id;
+       /*
+        * Session id when requesting metadata to the session daemon for
+        * a session with per-PID buffers.
+        */
+       uint64_t session_id_per_pid;
        /* Channel trace file path name. */
        char pathname[PATH_MAX];
        /* Channel name. */
@@ -109,8 +114,8 @@ struct lttng_consumer_channel {
        /* UID and GID of the channel. */
        uid_t uid;
        gid_t gid;
-       /* Relayd id of the channel. -1 if it does not apply. */
-       int64_t relayd_id;
+       /* Relayd id of the channel. -1ULL if it does not apply. */
+       uint64_t relayd_id;
        /*
         * Number of streams NOT initialized yet. This is used in order to not
         * delete this channel if streams are getting initialized.
@@ -250,7 +255,7 @@ struct lttng_consumer_stream {
  */
 struct consumer_relayd_sock_pair {
        /* Network sequence number. */
-       int64_t net_seq_idx;
+       uint64_t net_seq_idx;
        /* Number of stream associated with this relayd */
        unsigned int refcount;
 
@@ -458,7 +463,7 @@ struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key,
                const char *channel_name,
                uid_t uid,
                gid_t gid,
-               int relayd_id,
+               uint64_t relayd_id,
                uint64_t session_id,
                int cpu,
                int *alloc_ret,
@@ -469,10 +474,11 @@ struct lttng_consumer_channel *consumer_allocate_channel(uint64_t key,
                const char *name,
                uid_t uid,
                gid_t gid,
-               int relayd_id,
+               uint64_t relayd_id,
                enum lttng_event_output output,
                uint64_t tracefile_size,
-               uint64_t tracefile_count);
+               uint64_t tracefile_count,
+               uint64_t session_id_per_pid);
 void consumer_del_stream(struct lttng_consumer_stream *stream,
                struct lttng_ht *ht);
 void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
@@ -483,7 +489,7 @@ void consumer_del_channel(struct lttng_consumer_channel *channel);
 
 /* lttng-relayd consumer command */
 struct consumer_relayd_sock_pair *consumer_allocate_relayd_sock_pair(
-               int net_seq_idx);
+               uint64_t net_seq_idx);
 struct consumer_relayd_sock_pair *consumer_find_relayd(uint64_t key);
 struct lttng_consumer_channel *consumer_find_channel(uint64_t key);
 int consumer_handle_stream_before_relayd(struct lttng_consumer_stream *stream,
@@ -519,7 +525,7 @@ int lttng_consumer_recv_cmd(struct lttng_consumer_local_data *ctx,
 ssize_t lttng_consumer_read_subbuffer(struct lttng_consumer_stream *stream,
                struct lttng_consumer_local_data *ctx);
 int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream);
-int consumer_add_relayd_socket(int net_seq_idx, int sock_type,
+int consumer_add_relayd_socket(uint64_t net_seq_idx, int sock_type,
                struct lttng_consumer_local_data *ctx, int sock,
                struct pollfd *consumer_sockpoll, struct lttcomm_relayd_sock *relayd_sock,
                unsigned int sessiond_id);
This page took 0.025625 seconds and 4 git commands to generate.