on osx, fdatasync() is a syscall without userspace wrapper.
Signed-off-by: Kefu Chai <kchai@redhat.com>
CHECK_FUNCTION_EXISTS(pwritev HAVE_PWRITEV)
CHECK_FUNCTION_EXISTS(splice CEPH_HAVE_SPLICE)
CHECK_FUNCTION_EXISTS(getgrouplist HAVE_GETGROUPLIST)
-CHECK_FUNCTION_EXISTS(fdatasync HAVE_FDATASYNC)
+if(NOT APPLE)
+ CHECK_FUNCTION_EXISTS(fdatasync HAVE_FDATASYNC)
+endif()
CHECK_FUNCTION_EXISTS(strerror_r HAVE_STRERROR_R)
CHECK_FUNCTION_EXISTS(name_to_handle_at HAVE_NAME_TO_HANDLE_AT)
CHECK_FUNCTION_EXISTS(pipe2 HAVE_PIPE2)
logger->dec(l_wbthrottle_inodes_dirtied);
logger->inc(l_wbthrottle_inodes_wb);
lock.Unlock();
-#ifdef HAVE_FDATASYNC
+#if defined(HAVE_FDATASYNC)
::fdatasync(**wb.get<1>());
#else
::fsync(**wb.get<1>());