mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-13 07:28:59 +01:00
Merge #18437: util: Detect posix_fallocate() instead of assuming
182dbdf0f4util: Detect posix_fallocate() instead of assuming (Vasil Dimov) Pull request description: Don't assume that `posix_fallocate()` is available on Linux and not available on other operating systems. At least FreeBSD has it and we are not using it. Properly check whether `posix_fallocate()` is present and use it if it is. ACKs for top commit: laanwj: ACK182dbdf0f4Tree-SHA512: f9ed4bd661f33ff6b2b1150591e860b3c1f44e12b87c35e870d06a7013c4e841ed2bf17b41ad6b18fe471b0b23a4b5e42cf1400637180888e0bc56c254fe0766
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef WIN32
|
||||
// for posix_fallocate
|
||||
// for posix_fallocate, in configure.ac we check if it is present after this
|
||||
#ifdef __linux__
|
||||
|
||||
#ifdef _POSIX_C_SOURCE
|
||||
@@ -1019,7 +1019,7 @@ void AllocateFileRange(FILE *file, unsigned int offset, unsigned int length) {
|
||||
}
|
||||
ftruncate(fileno(file), static_cast<off_t>(offset) + length);
|
||||
#else
|
||||
#if defined(__linux__)
|
||||
#if defined(HAVE_POSIX_FALLOCATE)
|
||||
// Version using posix_fallocate
|
||||
off_t nEndPos = (off_t)offset + length;
|
||||
if (0 == posix_fallocate(fileno(file), 0, nEndPos)) return;
|
||||
|
||||
Reference in New Issue
Block a user