Index: fusl/src/linux/sync_file_range.c |
diff --git a/fusl/src/linux/sync_file_range.c b/fusl/src/linux/sync_file_range.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6859abc05dabde2825af4a392b2b0e0d255f2a4e |
--- /dev/null |
+++ b/fusl/src/linux/sync_file_range.c |
@@ -0,0 +1,17 @@ |
+#define _GNU_SOURCE |
+#include <fcntl.h> |
+#include <errno.h> |
+#include "syscall.h" |
+ |
+int sync_file_range(int fd, off_t pos, off_t len, unsigned flags) |
+{ |
+#if defined(SYS_sync_file_range2) |
+ return syscall(SYS_sync_file_range2, fd, flags, |
+ __SYSCALL_LL_E(pos), __SYSCALL_LL_E(len)); |
+#elif defined(SYS_sync_file_range) |
+ return syscall(SYS_sync_file_range, fd, |
+ __SYSCALL_LL_O(pos), __SYSCALL_LL_E(len), flags); |
+#else |
+ return __syscall_ret(-ENOSYS); |
+#endif |
+} |