kerner-ctl: add RING_RING_BUFFER_GET_NEXT_SUBBUF_METADATA_CHECK
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 29 Apr 2020 01:40:12 +0000 (21:40 -0400)
committerJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Tue, 26 May 2020 18:29:52 +0000 (14:29 -0400)
Add a wrapper for RING_RING_BUFFER_GET_NEXT_SUBBUF_METADATA_CHECK
which gets the next metadata subbuffer and returns a boolean flag
indicating whether the metadata is guaranteed to be in a consistent
state at the end of this sub-buffer (can be parsed).

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I13fbdfe51c3c4ef04581409e0fbc9837ed6d555d

src/common/kernel-ctl/kernel-ctl.c
src/common/kernel-ctl/kernel-ctl.h
src/common/kernel-ctl/kernel-ioctl.h

index be9d412612631e45c684ff571d8b7dd4e3a61f4e..29581ef2bf5aacce6703150dc68576ab589b6bfb 100644 (file)
@@ -474,6 +474,13 @@ int kernctl_buffer_flush_empty(int fd)
        return LTTNG_IOCTL_CHECK(fd, RING_BUFFER_FLUSH_EMPTY);
 }
 
+int kernctl_get_next_subbuf_metadata_check(int fd, bool *consistent)
+{
+       return LTTNG_IOCTL_NO_CHECK(fd,
+                       RING_RING_BUFFER_GET_NEXT_SUBBUF_METADATA_CHECK,
+                       consistent);
+}
+
 /* returns the version of the metadata. */
 int kernctl_get_metadata_version(int fd, uint64_t *version)
 {
index 8c0ff49e00533dc65f5228556cb0292297c5bbc5..ddb5761a9fc9b3c5b25faa6557becdad2ce0fd81 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef _LTTNG_KERNEL_CTL_H
 #define _LTTNG_KERNEL_CTL_H
 
+#include <stdbool.h>
+
 #include <lttng/lttng.h>
 #include <common/lttng-kernel.h>
 #include <common/lttng-kernel-old.h>
@@ -98,6 +100,7 @@ int kernctl_put_subbuf(int fd);
 int kernctl_buffer_flush(int fd);
 int kernctl_buffer_flush_empty(int fd);
 int kernctl_get_metadata_version(int fd, uint64_t *version);
+int kernctl_get_next_subbuf_metadata_check(int fd, bool *consistent);
 
 /* index */
 int kernctl_get_timestamp_begin(int fd, uint64_t *timestamp_begin);
index 8aebc1b8b0bf91d408a495043c5b681fb3182a75..8b6b5dbe42a5328f0f2f0572140890cec5d77b67 100644 (file)
@@ -53,6 +53,7 @@
 #define RING_BUFFER_GET_METADATA_VERSION    _IOR(0xF6, 0x0D, uint64_t)
 /* Flush the current sub-buffer, even if empty. */
 #define RING_BUFFER_FLUSH_EMPTY                        _IO(0xF6, 0x0F)
+#define RING_RING_BUFFER_GET_NEXT_SUBBUF_METADATA_CHECK _IOR(0xF6, 0x12, uint32_t)
 
 /* returns the timestamp begin of the current sub-buffer */
 #define LTTNG_RING_BUFFER_GET_TIMESTAMP_BEGIN     _IOR(0xF6, 0x20, uint64_t)
This page took 0.028648 seconds and 5 git commands to generate.