From 79d73100a13f54d3c64beb6944924ed3d9caecf8 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 1 Feb 2012 20:10:12 +0100 Subject: [PATCH] Fix bad types for mac blockdev_size() Signed-off-by: Jens Axboe --- os/os-mac.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/os/os-mac.h b/os/os-mac.h index 80c49f47..9f19b8ab 100644 --- a/os/os-mac.h +++ b/os/os-mac.h @@ -143,13 +143,17 @@ static inline int fio_set_odirect(int fd) static inline int blockdev_size(struct fio_file *f, unsigned long long *bytes) { - uint64_t temp = 1; - if (ioctl(f->fd, DKIOCGETBLOCKCOUNT, bytes) == -1) + uint32_t block_size; + uint64_t block_count; + + if (ioctl(f->fd, DKIOCGETBLOCKCOUNT, &block_count) == -1) return errno; - if (ioctl(f->fd, DKIOCGETBLOCKSIZE, &temp) == -1) + if (ioctl(f->fd, DKIOCGETBLOCKSIZE, &block_size) == -1) return errno; - (*bytes) *= temp; - return 0; + + *bytes = block_size; + *bytes *= block_count; + return 0; } static inline int chardev_size(struct fio_file *f, unsigned long long *bytes) -- 2.25.1