0001-no-posix-fallocate-in-uclibc.patch 1.11 KB
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: