X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fos-freebsd.h;h=26bb8a096790b40d4f4194b2288d1a955596f3b9;hp=af5fc9f685125578623fa21810c490ba08743949;hb=a1c58075279454a91ec43366846b93e8dcf9753c;hpb=18bc5025fdce7f1f319b4aebe1c9d7f479088e73 diff --git a/os/os-freebsd.h b/os/os-freebsd.h index af5fc9f6..26bb8a09 100644 --- a/os/os-freebsd.h +++ b/os/os-freebsd.h @@ -1,22 +1,26 @@ #ifndef FIO_OS_FREEBSD_H #define FIO_OS_FREEBSD_H +#include #include #define FIO_HAVE_POSIXAIO #define FIO_HAVE_ODIRECT -#define OS_MAP_ANON (MAP_ANON) +#define OS_MAP_ANON MAP_ANON typedef unsigned long os_cpu_mask_t; typedef unsigned int os_random_state_t; -/* - * FIXME - */ static inline int blockdev_size(int fd, unsigned long long *bytes) { - return EINVAL; + off_t end = lseek(fd, 0, SEEK_END); + + if (end < 0) + return errno; + + *bytes = end; + return 0; } static inline int blockdev_invalidate_cache(int fd) @@ -47,4 +51,8 @@ static inline long os_random_long(os_random_state_t *rs) return val; } +#ifdef MADV_FREE +#define FIO_MADV_FREE MADV_FREE +#endif + #endif