0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-08 10:31:50 -05:00

util: use HAVE_FDATASYNC to determine fdatasync() use

Rather than just using it on Linux and NetBSD, use `fdatasync()` based
on whether it's available. i.e it is available in newer versions
of FreeBSD (11.1 and later).

This also aligns our code more closely with what is being done in leveldb.

Was pointed out by Luke in #19430.
This commit is contained in:
fanquake 2020-07-28 19:55:00 +08:00
parent 24ead1a923
commit 1d8338d6b7
No known key found for this signature in database
GPG key ID: 2EEB9F5CC09526C1

View file

@ -1021,7 +1021,7 @@ bool FileCommit(FILE *file)
return false;
}
#else
#if defined(__linux__) || defined(__NetBSD__)
#if defined(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;