From: Kyle McMartin Date: Mon, 24 Aug 2009 05:09:58 +0000 (-0700) Subject: e4defrag: fix ppc build X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=a9e55a1191cf08fd219466009613ed1a04bbaac0;p=tools%2Fe2fsprogs.git e4defrag: fix ppc build ppc glibc seems to be missing sync_file_range, so we fell back to the local define, and there ppc differs as well, so the build was failing. Thanks to Kyle for the patch w/ the tidy solution. Signed-off-by: Eric Sandeen Signed-off-by: Theodore Ts'o --- diff --git a/misc/e4defrag.c b/misc/e4defrag.c index 4451a63..82e3868 100644 --- a/misc/e4defrag.c +++ b/misc/e4defrag.c @@ -305,8 +305,10 @@ static int posix_fadvise(int fd, loff_t offset, size_t len, int advise) #warning Using locally defined sync_file_range interface. #ifndef __NR_sync_file_range +#ifndef __NR_sync_file_range2 /* ppc */ #error Your kernel headers dont define __NR_sync_file_range #endif +#endif /* * sync_file_range() - Sync file region. @@ -318,7 +320,11 @@ static int posix_fadvise(int fd, loff_t offset, size_t len, int advise) */ int sync_file_range(int fd, loff_t offset, loff_t length, unsigned int flag) { +#ifdef __NR_sync_file_range return syscall(__NR_sync_file_range, fd, offset, length, flag); +#else + return syscall(__NR_sync_file_range2, fd, flag, offset, length); +#endif } #endif /* ! HAVE_SYNC_FILE_RANGE */