summaryrefslogtreecommitdiffstats
path: root/src/server/fileutil.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/fileutil.c')
-rw-r--r--src/server/fileutil.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/server/fileutil.c b/src/server/fileutil.c
index f09a899..58ac0e9 100644
--- a/src/server/fileutil.c
+++ b/src/server/fileutil.c
@@ -52,11 +52,17 @@ bool mkdir_p(const char* path)
bool file_alloc(int fd, uint64_t offset, uint64_t size)
{
+#ifdef __linux__
if ( fallocate( fd, 0, offset, size ) == 0 ) return true; // fast way
+#elif defined(__FreeBSD__)
if ( posix_fallocate( fd, offset, size ) == 0 ) return true; // slow way
+#endif
+
+ /* This doesn't make any sense, AFAIK
if ( lseek( fd, offset + size - 1, SEEK_SET ) != (off_t)offset ) return false; // dumb way
if ( write( fd, "", 1 ) != 1 ) return false;
- return true;
+ */
+ return false;
}
int64_t file_freeDiskSpace(const char * const path)