From c52dd120fd6498ee73b7652e3b0e5380124a5502 Mon Sep 17 00:00:00 2001 From: Luca Venturini Date: Sat, 23 Mar 2019 04:20:40 +0000 Subject: [PATCH] Handle the result of posix_fallocate system call Github-Pull: #15650 Rebased-From: 5d35ae3326624da3fe5dcb4047c9a7cec6665cab --- src/util/system.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/util/system.cpp b/src/util/system.cpp index caa65f59ef2..9765a18df10 100644 --- a/src/util/system.cpp +++ b/src/util/system.cpp @@ -1085,11 +1085,12 @@ void AllocateFileRange(FILE *file, unsigned int offset, unsigned int length) { fcntl(fileno(file), F_PREALLOCATE, &fst); } ftruncate(fileno(file), fst.fst_length); -#elif defined(__linux__) +#else + #if defined(__linux__) // Version using posix_fallocate off_t nEndPos = (off_t)offset + length; - posix_fallocate(fileno(file), 0, nEndPos); -#else + if (0 == posix_fallocate(fileno(file), 0, nEndPos)) return; + #endif // Fallback version // TODO: just write one byte per block static const char buf[65536] = {};