kumquat-buildroot/package/lttng-babeltrace/lttng-babeltrace-01-no-posix-fallocate-in-uclibc.patch

38 lines
1.1 KiB
Diff
Raw Normal View History

Do not call posix_fallocate() on uClibc
uClibc does not implement posix_fallocate(), and posix_fallocate() is
mostly only an hint to the kernel that we will need such or such
amount of space inside a file. So we just don't call posix_fallocate()
when building against uClibc.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Peter: add #include <features.h>
---
formats/ctf/ctf.c | 3 +++
1 file changed, 3 insertions(+)
Index: lttng-babeltrace-0.8/formats/ctf/ctf.c
===================================================================
--- lttng-babeltrace-0.8.orig/formats/ctf/ctf.c
+++ lttng-babeltrace-0.8/formats/ctf/ctf.c
@@ -32,6 +32,7 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <dirent.h>
+#include <features.h>
#include <glib.h>
#include <unistd.h>
#include <stdlib.h>
@@ -384,9 +385,11 @@
}
pos->content_size = -1U; /* Unknown at this point */
pos->packet_size = WRITE_PACKET_LEN;
+#ifndef __UCLIBC__
off = posix_fallocate(pos->fd, pos->mmap_offset,
pos->packet_size / CHAR_BIT);
assert(off >= 0);
+#endif
pos->offset = 0;
} else {
read_next_packet: