X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-internal.hpp;fp=src%2Fbin%2Flttng-sessiond%2Fnotification-thread-internal.hpp;h=1cab09d9707347530d34c1b5bbb5e87f46aec1b4;hp=b53c24b2398a98f77de8534d210b72677eb250de;hb=319dcddc7409961e156af76666fe70d31baec55a;hpb=139a8d250fb18f8ffc95b0936f7285f7b484b72f diff --git a/src/bin/lttng-sessiond/notification-thread-internal.hpp b/src/bin/lttng-sessiond/notification-thread-internal.hpp index b53c24b23..1cab09d97 100644 --- a/src/bin/lttng-sessiond/notification-thread-internal.hpp +++ b/src/bin/lttng-sessiond/notification-thread-internal.hpp @@ -28,6 +28,18 @@ struct channel_key { enum lttng_domain_type domain; }; +struct session_state_sample { + uint64_t consumed_data_size; + struct { + /* Whether a rotation is ongoing for this session. */ + bool ongoing; + /* Identifier of the currently ongoing rotation. */ + uint64_t id; + /* Location of last completed rotation. */ + struct lttng_trace_archive_location *location; + } rotation; +}; + struct session_info { struct lttng_ref ref; uint64_t id; @@ -48,13 +60,8 @@ struct session_info { * destruction. */ struct cds_lfht *sessions_ht; - uint64_t consumed_data_size; - struct { - /* Whether a rotation is ongoing for this session. */ - bool ongoing; - /* Identifier of the currently ongoing rotation. */ - uint64_t id; - } rotation; + /* Session's state as of the latest update. */ + struct session_state_sample last_state_sample; /* call_rcu delayed reclaim. */ struct rcu_head rcu_node; };