engines/exec: Code cleanup to remove leaks
[fio.git] / os / os-aix.h
index 96d909766de08c2a85d67e6cba1cc3fc21887a31..db99eef4cef6214408277e70d0ba1685961307aa 100644 (file)
@@ -1,30 +1,39 @@
 #ifndef FIO_OS_AIX_H
 #define FIO_OS_AIX_H
 
+#define        FIO_OS  os_aix
+
 #include <errno.h>
 #include <unistd.h>
 #include <sys/devinfo.h>
 #include <sys/ioctl.h>
 
-#define FIO_HAVE_POSIXAIO
-#define FIO_HAVE_ODIRECT
-#define FIO_USE_GENERIC_RAND
+#include "../file.h"
 
-#define FIO_HAVE_PSHARED_MUTEX
+#define FIO_HAVE_ODIRECT
+#define FIO_USE_GENERIC_INIT_RANDOM_STATE
 
 #define OS_MAP_ANON            MAP_ANON
 #define OS_MSG_DONTWAIT                0
 
-static inline int blockdev_invalidate_cache(int fd)
+#define FIO_USE_GENERIC_SWAP
+
+#ifdef CONFIG_PTHREAD_GETAFFINITY
+#define FIO_HAVE_GET_THREAD_AFFINITY
+#define fio_get_thread_affinity(mask)  \
+       pthread_getaffinity_np(pthread_self(), sizeof(mask), &(mask))
+#endif
+
+static inline int blockdev_invalidate_cache(struct fio_file *f)
 {
-       return EINVAL;
+       return ENOTSUP;
 }
 
-static inline int blockdev_size(int fd, unsigned long long *bytes)
+static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes)
 {
        struct devinfo info;
 
-       if (!ioctl(fd, IOCINFO, &info)) {
+       if (!ioctl(f->fd, IOCINFO, &info)) {
                *bytes = (unsigned long long)info.un.scdk.numblks *
                                info.un.scdk.blksize;
                return 0;