lttng-babeltrace: fix build on uClibc due to missing posix_fallocate()

[Peter: add explicit #include <features.h>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni 2012-02-04 15:48:48 +01:00 committed by Peter Korsgaard
parent 42852b31ef
commit d8bf70e01e

View File

@ -0,0 +1,37 @@
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: