X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=os%2Fos-freebsd.h;h=26bb8a096790b40d4f4194b2288d1a955596f3b9;hp=ba2541a5f5f25159f6fa0c4ed4a25c4336daa09d;hb=a1c58075279454a91ec43366846b93e8dcf9753c;hpb=4c5946c6606abc87ba7e2bfc57a5030d19b6d4d5 diff --git a/os/os-freebsd.h b/os/os-freebsd.h index ba2541a5..26bb8a09 100644 --- a/os/os-freebsd.h +++ b/os/os-freebsd.h @@ -1,27 +1,26 @@ #ifndef FIO_OS_FREEBSD_H #define FIO_OS_FREEBSD_H +#include #include -#undef FIO_HAVE_LIBAIO #define FIO_HAVE_POSIXAIO -#undef FIO_HAVE_FADVISE -#undef FIO_HAVE_CPU_AFFINITY -#undef FIO_HAVE_DISK_UTIL -#undef FIO_HAVE_SGIO #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) @@ -52,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