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 -- Please use reply-all for most replies to avoid omitting the mailing list. To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
