* Returns the size of the event read, -EAGAIN if buffer is empty, -ENODATA if
* buffer is empty and finalized. The buffer must already be opened for reading.
*/
-ssize_t lib_ring_buffer_get_next_record(struct channel *chan,
+ssize_t lib_ring_buffer_get_next_record(struct lttng_kernel_ring_buffer_channel *chan,
struct lib_ring_buffer *buf)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
static
void lib_ring_buffer_get_empty_buf_records(const struct lib_ring_buffer_config *config,
- struct channel *chan)
+ struct lttng_kernel_ring_buffer_channel *chan)
{
struct lttng_ptr_heap *heap = &chan->iter.heap;
struct lib_ring_buffer *buf, *tmp;
static
void lib_ring_buffer_wait_for_qs(const struct lib_ring_buffer_config *config,
- struct channel *chan)
+ struct lttng_kernel_ring_buffer_channel *chan)
{
u64 timestamp_qs;
unsigned long wait_msecs;
* opened for reading.
*/
-ssize_t channel_get_next_record(struct channel *chan,
+ssize_t channel_get_next_record(struct lttng_kernel_ring_buffer_channel *chan,
struct lib_ring_buffer **ret_buf)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
EXPORT_SYMBOL_GPL(channel_get_next_record);
static
-void lib_ring_buffer_iterator_init(struct channel *chan, struct lib_ring_buffer *buf)
+void lib_ring_buffer_iterator_init(struct lttng_kernel_ring_buffer_channel *chan, struct lib_ring_buffer *buf)
{
if (buf->iter.allocated)
return;
int lttng_cpuhp_rb_iter_online(unsigned int cpu,
struct lttng_cpuhp_node *node)
{
- struct channel *chan = container_of(node, struct channel,
+ struct lttng_kernel_ring_buffer_channel *chan = container_of(node, struct lttng_kernel_ring_buffer_channel,
cpuhp_iter_online);
struct lib_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, cpu);
const struct lib_ring_buffer_config *config = &chan->backend.config;
void *hcpu)
{
unsigned int cpu = (unsigned long)hcpu;
- struct channel *chan = container_of(nb, struct channel,
+ struct lttng_kernel_ring_buffer_channel *chan = container_of(nb, struct lttng_kernel_ring_buffer_channel,
hp_iter_notifier);
struct lib_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, cpu);
const struct lib_ring_buffer_config *config = &chan->backend.config;
#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */
-int channel_iterator_init(struct channel *chan)
+int channel_iterator_init(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
return 0;
}
-void channel_iterator_unregister_notifiers(struct channel *chan)
+void channel_iterator_unregister_notifiers(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
}
}
-void channel_iterator_free(struct channel *chan)
+void channel_iterator_free(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
int lib_ring_buffer_iterator_open(struct lib_ring_buffer *buf)
{
- struct channel *chan = buf->backend.chan;
+ struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan;
const struct lib_ring_buffer_config *config = &chan->backend.config;
CHAN_WARN_ON(chan, config->output != RING_BUFFER_ITERATOR);
return lib_ring_buffer_open_read(buf);
}
EXPORT_SYMBOL_GPL(lib_ring_buffer_iterator_release);
-int channel_iterator_open(struct channel *chan)
+int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
}
EXPORT_SYMBOL_GPL(channel_iterator_open);
-void channel_iterator_release(struct channel *chan)
+void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
void lib_ring_buffer_iterator_reset(struct lib_ring_buffer *buf)
{
- struct channel *chan = buf->backend.chan;
+ struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan;
if (buf->iter.state != ITER_GET_SUBBUF)
lib_ring_buffer_put_next_subbuf(buf);
/* Don't reset allocated and read_open */
}
-void channel_iterator_reset(struct channel *chan)
+void channel_iterator_reset(struct lttng_kernel_ring_buffer_channel *chan)
{
const struct lib_ring_buffer_config *config = &chan->backend.config;
struct lib_ring_buffer *buf;
char __user *user_buf,
size_t count,
loff_t *ppos,
- struct channel *chan,
+ struct lttng_kernel_ring_buffer_channel *chan,
struct lib_ring_buffer *buf,
int fusionmerge)
{
{
struct inode *inode = filp->lttng_f_dentry->d_inode;
struct lib_ring_buffer *buf = inode->i_private;
- struct channel *chan = buf->backend.chan;
+ struct lttng_kernel_ring_buffer_channel *chan = buf->backend.chan;
return channel_ring_buffer_file_read(filp, user_buf, count, ppos,
chan, buf, 0);
loff_t *ppos)
{
struct inode *inode = filp->lttng_f_dentry->d_inode;
- struct channel *chan = inode->i_private;
+ struct lttng_kernel_ring_buffer_channel *chan = inode->i_private;
const struct lib_ring_buffer_config *config = &chan->backend.config;
if (config->alloc == RING_BUFFER_ALLOC_PER_CPU)
static
int channel_file_open(struct inode *inode, struct file *file)
{
- struct channel *chan = inode->i_private;
+ struct lttng_kernel_ring_buffer_channel *chan = inode->i_private;
int ret;
ret = channel_iterator_open(chan);
static
int channel_file_release(struct inode *inode, struct file *file)
{
- struct channel *chan = inode->i_private;
+ struct lttng_kernel_ring_buffer_channel *chan = inode->i_private;
channel_iterator_release(chan);
return 0;