Fixup bad logging types
[fio.git] / os / os-android.h
index 070aa1a3eee3cf7392664940d22bc99c2cc8735e..df22333f44d11cdf8dbcc4a79dcd2e85330a7443 100644 (file)
@@ -13,6 +13,7 @@
 #include <sched.h>
 #include <linux/unistd.h>
 #include <linux/major.h>
+#include <asm/byteorder.h>
 
 #include "binject.h"
 #include "../file.h"
@@ -79,11 +80,6 @@ static inline int shmdt (const void *__shmaddr)
 
 #define SPLICE_DEF_SIZE        (64*1024)
 
-static inline int ioprio_set(int which, int who, int ioprio)
-{
-       return syscall(__NR_ioprio_set, which, who, ioprio);
-}
-
 enum {
        IOPRIO_CLASS_NONE,
        IOPRIO_CLASS_RT,
@@ -100,6 +96,18 @@ enum {
 #define IOPRIO_BITS            16
 #define IOPRIO_CLASS_SHIFT     13
 
+static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
+{
+       /*
+        * If no class is set, assume BE
+        */
+       if (!ioprio_class)
+               ioprio_class = IOPRIO_CLASS_BE;
+
+       ioprio |= ioprio_class << IOPRIO_CLASS_SHIFT;
+       return syscall(__NR_ioprio_set, which, who, ioprio);
+}
+
 #ifndef BLKGETSIZE64
 #define BLKGETSIZE64   _IOR(0x12,114,size_t)
 #endif