X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=blktrace.c;h=b4d05c739cdc6843dedda732908dbd67fdfb21de;hp=5ed2619d2cf845a33fa9fa2f349b3f0485f254de;hb=4dced40768378754a156bb3327b10df53cf7eb8c;hpb=5e6c20673be9f46332f47ede0e3b657b2cc35ec4 diff --git a/blktrace.c b/blktrace.c index 5ed2619d..b4d05c73 100644 --- a/blktrace.c +++ b/blktrace.c @@ -75,10 +75,8 @@ int is_blktrace(const char *filename) int fd, ret; fd = open(filename, O_RDONLY); - if (fd < 0) { - perror("open blktrace"); + if (fd < 0) return 0; - } ret = read(fd, &t, sizeof(t)); close(fd); @@ -142,11 +140,16 @@ static int lookup_device(char *path, unsigned int maj, unsigned int min) 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; - 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;