#include <ringbuffer/frontend.h>
#include <ringbuffer/vfs.h>
-#if 0
+#ifdef DEBUG
#define printk_dbg(fmt, args...) printk(fmt, args)
#else
-#define printk_dbg(fmt, args...)
+#define printk_dbg(fmt, args...) \
+do { \
+ /* do nothing but check printf format */ \
+ if (0) \
+ printk(fmt, ## args); \
+} while (0)
#endif
loff_t vfs_lib_ring_buffer_no_llseek(struct file *file, loff_t offset,
__free_page(pbuf->page);
}
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,8,0))
+static const struct pipe_buf_operations ring_buffer_pipe_buf_ops = {
+ .release = lib_ring_buffer_pipe_buf_release,
+ .try_steal = generic_pipe_buf_try_steal,
+ .get = generic_pipe_buf_get
+};
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(5,1,0))
+static const struct pipe_buf_operations ring_buffer_pipe_buf_ops = {
+ .confirm = generic_pipe_buf_confirm,
+ .release = lib_ring_buffer_pipe_buf_release,
+ .steal = generic_pipe_buf_steal,
+ .get = generic_pipe_buf_get
+};
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
+static const struct pipe_buf_operations ring_buffer_pipe_buf_ops = {
+ .can_merge = 0,
+ .confirm = generic_pipe_buf_confirm,
+ .release = lib_ring_buffer_pipe_buf_release,
+ .steal = generic_pipe_buf_steal,
+ .get = generic_pipe_buf_get
+};
+#else
static const struct pipe_buf_operations ring_buffer_pipe_buf_ops = {
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,1,0))
.can_merge = 0,
-#endif
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
.map = generic_pipe_buf_map,
.unmap = generic_pipe_buf_unmap,
-#endif
.confirm = generic_pipe_buf_confirm,
.release = lib_ring_buffer_pipe_buf_release,
.steal = generic_pipe_buf_steal,
- .get = generic_pipe_buf_get,
+ .get = generic_pipe_buf_get
};
+#endif
/*
* Page release operation after splice pipe_to_file ends.
nr_pages = min_t(unsigned int, subbuf_pages, PIPE_DEF_BUFFERS);
roffset = consumed_old & PAGE_MASK;
poff = consumed_old & ~PAGE_MASK;
- printk_dbg(KERN_DEBUG "SPLICE actor len %zu pos %zd write_pos %ld\n",
+ printk_dbg(KERN_DEBUG "LTTng: SPLICE actor len %zu pos %zd write_pos %ld\n",
len, (ssize_t)*ppos, lib_ring_buffer_get_offset(config, buf));
for (; spd.nr_pages < nr_pages; spd.nr_pages++) {
if (!len)
break;
- printk_dbg(KERN_DEBUG "SPLICE actor loop len %zu roffset %ld\n",
+ printk_dbg(KERN_DEBUG "LTTng: SPLICE actor loop len %zu roffset %ld\n",
len, roffset);
/*
ret = 0;
spliced = 0;
- printk_dbg(KERN_DEBUG "SPLICE read len %zu pos %zd\n", len,
+ printk_dbg(KERN_DEBUG "LTTng: SPLICE read len %zu pos %zd\n", len,
(ssize_t)*ppos);
while (len && !spliced) {
ret = subbuf_splice_actor(in, ppos, pipe, len, flags, buf);
- printk_dbg(KERN_DEBUG "SPLICE read loop ret %d\n", ret);
+ printk_dbg(KERN_DEBUG "LTTng: SPLICE read loop ret %d\n", ret);
if (ret < 0)
break;
else if (!ret) {