os-linux: Cleanup IO priority class and value macros
[fio.git] / os / os-linux.h
index 2f9f7e796dace80b8a609942e019858c60b91782..72727ac3b61b30db9c2d16c35fe6edcd17d36f05 100644 (file)
@@ -131,6 +131,9 @@ enum {
 #define IOPRIO_MIN_PRIO_CLASS  0
 #define IOPRIO_MAX_PRIO_CLASS  3
 
+#define ioprio_class(ioprio)   ((ioprio) >> IOPRIO_CLASS_SHIFT)
+#define ioprio(ioprio)         ((ioprio) & IOPRIO_MAX_PRIO)
+
 static inline int ioprio_value(int ioprio_class, int ioprio)
 {
        /*
@@ -144,7 +147,7 @@ static inline int ioprio_value(int ioprio_class, int ioprio)
 
 static inline bool ioprio_value_is_class_rt(unsigned int priority)
 {
-       return (priority >> IOPRIO_CLASS_SHIFT) == IOPRIO_CLASS_RT;
+       return ioprio_class(priority) == IOPRIO_CLASS_RT;
 }
 
 static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
@@ -153,9 +156,6 @@ static inline int ioprio_set(int which, int who, int ioprio_class, int ioprio)
                       ioprio_value(ioprio_class, ioprio));
 }
 
-#define ioprio_class(ioprio)   ((ioprio) >> IOPRIO_CLASS_SHIFT)
-#define ioprio(ioprio)         ((ioprio) & 7)
-
 #ifndef CONFIG_HAVE_GETTID
 static inline int gettid(void)
 {