X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.h;h=13fc61617881de52d86d2839262aaacca7f0d906;hb=e10aec8f225c0822811c65401710a039d7e2d7d7;hp=f514aba712a24c13e3191b1a4de910fb9a0e35f0;hpb=d295668767ac8234e83984e1812d342d03293d88;p=lttng-tools.git diff --git a/src/common/consumer/consumer.h b/src/common/consumer/consumer.h index f514aba71..13fc61617 100644 --- a/src/common/consumer/consumer.h +++ b/src/common/consumer/consumer.h @@ -107,6 +107,12 @@ struct consumer_metadata_cache; struct lttng_consumer_channel { /* Is the channel published in the channel hash tables? */ bool is_published; + /* + * Was the channel deleted (logically) and waiting to be reclaimed? + * If this flag is set, no modification that is not cleaned-up by the + * RCU reclamation callback should be made + */ + bool is_deleted; /* HT node used for consumer_data.channel_ht */ struct lttng_ht_node_u64 node; /* HT node used for consumer_data.channels_by_session_id_ht */ @@ -124,7 +130,17 @@ struct lttng_consumer_channel { * a session with per-PID buffers. */ uint64_t session_id_per_pid; - /* Channel trace file path name. */ + /* + * In the case of local streams, this field contains the channel's + * output path; a path relative to the session's output path. + * e.g. ust/uid/1000/64-bit + * + * In the case of remote streams, the contents of this field depends + * on the version of the relay daemon peer. For 2.11+ peers, the + * contents are the same as in the local case. However, for legacy + * peers, this contains a path of the form: + * /hostname/session_path/ust/uid/1000/64-bit + */ char pathname[PATH_MAX]; /* Channel name. */ char name[LTTNG_SYMBOL_NAME_LEN]; @@ -303,7 +319,7 @@ struct lttng_consumer_stream { bool missed_metadata_flush; enum lttng_event_output output; - /* Maximum subbuffer size. */ + /* Maximum subbuffer size (in bytes). */ unsigned long max_sb_size; /* @@ -844,7 +860,8 @@ enum lttcomm_return_code lttng_consumer_create_trace_chunk( struct lttng_directory_handle *chunk_directory_handle); enum lttcomm_return_code lttng_consumer_close_trace_chunk( const uint64_t *relayd_id, uint64_t session_id, - uint64_t chunk_id, time_t chunk_close_timestamp); + uint64_t chunk_id, time_t chunk_close_timestamp, + const enum lttng_trace_chunk_command_type *close_command); enum lttcomm_return_code lttng_consumer_trace_chunk_exists( const uint64_t *relayd_id, uint64_t session_id, uint64_t chunk_id);