* subbuffer. data_size is between 1 and subbuf_size.
*/
static void client_buffer_end(struct lttng_kernel_ring_buffer *buf, u64 tsc,
- unsigned int subbuf_idx, unsigned long data_size)
+ unsigned int subbuf_idx, unsigned long data_size,
+ const struct lttng_kernel_ring_buffer_ctx *ctx)
{
struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan;
struct metadata_packet_header *header =
* We do not care about the records lost count, because the metadata
* channel waits and retry.
*/
- (void) lib_ring_buffer_get_records_lost_full(&client_config, buf);
- records_lost += lib_ring_buffer_get_records_lost_wrap(&client_config, buf);
- records_lost += lib_ring_buffer_get_records_lost_big(&client_config, buf);
+ (void) lib_ring_buffer_get_records_lost_full(&client_config, ctx);
+ records_lost += lib_ring_buffer_get_records_lost_wrap(&client_config, ctx);
+ records_lost += lib_ring_buffer_get_records_lost_big(&client_config, ctx);
WARN_ON_ONCE(records_lost != 0);
}
lib_ring_buffer_strcpy(&client_config, ctx, src, len, '#');
}
+static
+void lttng_event_pstrcpy_pad(struct lttng_kernel_ring_buffer_ctx *ctx, const char *src,
+ size_t len)
+{
+ lib_ring_buffer_pstrcpy(&client_config, ctx, src, len, '\0');
+}
+
static
size_t lttng_packet_avail_size(struct lttng_kernel_ring_buffer_channel *chan)
{
.event_memset = lttng_event_memset,
.event_write = lttng_event_write,
.event_strcpy = lttng_event_strcpy,
+ .event_pstrcpy_pad = lttng_event_pstrcpy_pad,
},
};