message: util: Prefer Mac-specific F_FULLSYNC over fdatasync in FileCommit
diff: @@ -1048,16 +1048,16 @@ bool FileCommit(FILE *file)
  LogPrintf("%s: FlushFileBuffers failed: %d\n", __func__, GetLastError());
  return false;
  }
  -#elif HAVE_FDATASYNC
  - if (fdatasync(fileno(file)) != 0 && errno != EINVAL) { // Ignore EINVAL for filesystems that don't support sync
  - LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
  - return false;
  - }
  #elif defined(MAC_OSX) && defined(F_FULLFSYNC)
  if (fcntl(fileno(file), F_FULLFSYNC, 0) == -1) { // Manpage says "value other than -1" is returned on success
  LogPrintf("%s: fcntl F_FULLFSYNC failed: %d\n", __func__, errno);
  return false;
  }
  +#elif HAVE_FDATASYNC
  + if (fdatasync(fileno(file)) != 0 && errno != EINVAL) { // Ignore EINVAL for filesystems that don't support sync
  + LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
  + return false;
  + }
  #else
  if (fsync(fileno(file)) != 0 && errno != EINVAL) {
  LogPrintf("%s: fsync failed: %d\n", __func__, errno);
  