From 1ee67aedd55b452c7d5851d0e39e01aef4aca766 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 10 Feb 2016 21:53:15 +0100 Subject: dnbd3server build success on freebsd :) --- src/server/fileutil.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/server/fileutil.c') 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) -- cgit v1.2.3-55-g7522