Fix build on older systems
[fio.git] / blktrace.c
index 5ed2619d2cf845a33fa9fa2f349b3f0485f254de..8ebbae6f2fbe788c3c2ee353385535dac68c90ce 100644 (file)
@@ -142,11 +142,16 @@ static int lookup_device(char *path, unsigned int maj, unsigned int min)
        return found;
 }
 
        return found;
 }
 
+#define FMINORBITS     20
+#define FMINORMASK     ((1U << FMINORBITS) - 1)
+#define FMAJOR(dev)    ((unsigned int) ((dev) >> FMINORBITS))
+#define FMINOR(dev)    ((unsigned int) ((dev) & FMINORMASK))
+
 static void trace_add_file(struct thread_data *td, __u32 device)
 {
        static unsigned int last_maj, last_min;
 static void trace_add_file(struct thread_data *td, __u32 device)
 {
        static unsigned int last_maj, last_min;
-       unsigned int maj = major(device);
-       unsigned int min = minor(device);
+       unsigned int maj = FMAJOR(device);
+       unsigned int min = FMINOR(device);
        struct fio_file *f;
        char dev[256];
        unsigned int i;
        struct fio_file *f;
        char dev[256];
        unsigned int i;