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)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 26 May 2020 21:28:14 +0000 (17:28 -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 14d96b5778ba36a1d05c2c44608c4b36f3668955..2efbfa19d7bb21288845ad2070a893b323479122 100644 (file)
@@ -453,6 +453,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 053e7df6314fc1dfd7ba99e8822a5afaf5f5a33e..fb4838cc8a96a13c82ecc60f88ad68069cdb2f0d 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>
@@ -99,6 +101,7 @@ 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_metadata_cache_dump(int fd);
+int kernctl_get_next_subbuf_metadata_check(int fd, bool *consistent);
 
 /* index */
 int kernctl_get_timestamp_begin(int fd, uint64_t *timestamp_begin);
index 8d39abbe38ec882a3c691e07172511a2ff204b27..8a36f6352a654e54022763a71629704ac4a9f7cd 100644 (file)
@@ -64,6 +64,7 @@
  * so it can be read again.
  */
 #define RING_BUFFER_METADATA_CACHE_DUMP        _IO(0xF6, 0x10)
+#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.026378 seconds and 4 git commands to generate.