#include <sys/sysctl.h>
#include <sys/disk.h>
+#include "../file.h"
+
#define FIO_HAVE_POSIXAIO
#define FIO_HAVE_ODIRECT
+#define FIO_HAVE_STRSEP
#define FIO_USE_GENERIC_RAND
#define FIO_HAVE_CHARDEV_SIZE
+#define FIO_HAVE_CLOCK_MONOTONIC
+#define FIO_HAVE_GETTID
#define OS_MAP_ANON MAP_ANON
typedef off_t off64_t;
-static inline int blockdev_size(int fd, unsigned long long *bytes)
+static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
{
off_t size;
- if (!ioctl(fd, DIOCGMEDIASIZE, &size)) {
+ if (!ioctl(f->fd, DIOCGMEDIASIZE, &size)) {
*bytes = size;
return 0;
}
return errno;
}
-static inline int chardev_size(int fd, unsigned long long *bytes)
+static inline int chardev_size(struct fio_file *f, unsigned long long *bytes)
{
- return blockdev_size(fd, bytes);
+ return blockdev_size(f, bytes);
}
-static inline int blockdev_invalidate_cache(int fd)
+static inline int blockdev_invalidate_cache(struct fio_file *f)
{
return EINVAL;
}
return mem;
}
+static inline int gettid(void)
+{
+ long lwpid;
+
+ thr_self(&lwpid);
+ return (int) lwpid;
+}
+
#ifdef MADV_FREE
#define FIO_MADV_FREE MADV_FREE
#endif