#include <sched.h>
#include <linux/unistd.h>
#include <linux/major.h>
+#include <asm/byteorder.h>
#include "binject.h"
#include "../file.h"
#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,
#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