diff options
author | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-08-05 17:33:31 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@protonmail.com> | 2020-08-05 17:33:42 +0200 |
commit | e3272ff2907ca7a769d624698831a8605251b295 (patch) | |
tree | 9f7077b78ee6a93cc8c2d516c432bdacbc29c9b1 /src/util | |
parent | 4644b13b4499d1d661efdccc9854d3dccdf5b0e9 (diff) | |
parent | 1d8338d6b71447a5bf18750ca44724345aae5b60 (diff) |
Merge #19614: util: use HAVE_FDATASYNC to determine fdatasync() use
1d8338d6b71447a5bf18750ca44724345aae5b60 util: use HAVE_FDATASYNC to determine fdatasync() use (fanquake)
Pull request description:
Rather than just using on Linux and NetBSD, use `fdatasync()` based
on whether it's available. i.e `fdatasync` is available in newer versions of FreeBSD.
This also aligns more closely with what is being done in leveldb.
Was pointed out by Luke in #19430.
ACKs for top commit:
practicalswift:
ACK 1d8338d6b71447a5bf18750ca44724345aae5b60 -- patch looks correct
laanwj:
ACK 1d8338d6b71447a5bf18750ca44724345aae5b60
hebasto:
ACK 1d8338d6b71447a5bf18750ca44724345aae5b60
Tree-SHA512: 7dd6d87f5dc0c0ba21ae42f96b63fc12b34806cd536457fc4284f14bb8c235765344be228b000c6adf4cd1e8c4e6a03a18ca18ab22599c42cc3b706e0bcd1a17
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/system.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/util/system.cpp b/src/util/system.cpp index 066cfe8892..7b74789b32 100644 --- a/src/util/system.cpp +++ b/src/util/system.cpp @@ -1025,7 +1025,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; |