X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/784b93087c622999e225735c0c76d50241941022..89423052cab4700291f290819d53f4fbb8dabf95:/src/config.h?ds=sidebyside diff --git a/src/config.h b/src/config.h index 617682fc..5e6d2807 100644 --- a/src/config.h +++ b/src/config.h @@ -55,6 +55,20 @@ /* Define rdb_fsync_range to sync_file_range() on Linux, otherwise we use * the plain fsync() call. */ #ifdef __linux__ +#include +#include +#if defined(__GLIBC__) && defined(__GLIBC_PREREQ) +#if (LINUX_VERSION_CODE >= 0x020611 && __GLIBC_PREREQ(2, 6)) +#define HAVE_SYNC_FILE_RANGE 1 +#endif +#else +#if (LINUX_VERSION_CODE >= 0x020611) +#define HAVE_SYNC_FILE_RANGE 1 +#endif +#endif +#endif + +#ifdef HAVE_SYNC_FILE_RANGE #define rdb_fsync_range(fd,off,size) sync_file_range(fd,off,size,SYNC_FILE_RANGE_WAIT_BEFORE|SYNC_FILE_RANGE_WRITE) #else #define rdb_fsync_range(fd,off,size) fsync(fd)