[PATCH 1/3] Add fadvise interface wrapper
Ben Gamari
bgamari.foss at gmail.com
Fri Feb 17 17:54:09 MST 2012
With recent discussion on the LKML[1], it seems likely that Linux will
finally support posix_fadvise in a useful way with the FADV_DONTNEED
flag. This should allow us to minimize the effect of rsync on the
system's working set. Add the necessary wrapper to syscall.c.
[1] http://lkml.org/lkml/2010/11/21/59
---
syscall.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/syscall.c b/syscall.c
index c85f73e..bec9ca8 100644
--- a/syscall.c
+++ b/syscall.c
@@ -28,6 +28,7 @@
#ifdef HAVE_SYS_ATTR_H
#include <sys/attr.h>
#endif
+#include <fcntl.h>
extern int dry_run;
extern int am_root;
@@ -374,3 +375,13 @@ int do_utime(const char *fname, time_t modtime, UNUSED(uint32 mod_nsec))
#else
#error Need utimes or utime function.
#endif
+
+#if _XOPEN_SOURCE >= 600
+int do_fadvise(int fd, OFF_T offset, OFF_T len, int advise)
+{
+ return posix_fadvise(fd, offset, len, advise);
+}
+#else
+#define do_fadvise()
+#endif
+
--
1.7.5.4
More information about the rsync
mailing list