summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/fcntl.h1
-rw-r--r--src/linux/readahead.c8
2 files changed, 9 insertions, 0 deletions
diff --git a/include/fcntl.h b/include/fcntl.h
index 68baf7a2..b8d8702e 100644
--- a/include/fcntl.h
+++ b/include/fcntl.h
@@ -123,6 +123,7 @@ struct f_owner_ex {
#define SPLICE_F_MORE 4
#define SPLICE_F_GIFT 8
int fallocate(int, int, off_t, off_t);
+ssize_t readahead(int, off_t, size_t);
ssize_t vmsplice(int, const struct iovec *, size_t, unsigned);
ssize_t splice(int, off_t *, int, off_t *, size_t, unsigned);
#define loff_t off_t
diff --git a/src/linux/readahead.c b/src/linux/readahead.c
new file mode 100644
index 00000000..5c70bfd6
--- /dev/null
+++ b/src/linux/readahead.c
@@ -0,0 +1,8 @@
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include "syscall.h"
+
+ssize_t readahead(int fd, off_t pos, size_t len)
+{
+ return syscall(SYS_readahead, fd, __SYSCALL_LL_O(pos), len);
+}