From: Jens Axboe Date: Wed, 1 Feb 2012 19:10:12 +0000 (+0100) Subject: Fix bad types for mac blockdev_size() X-Git-Tag: fio-2.0.2~6 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=79d73100a13f54d3c64beb6944924ed3d9caecf8 Fix bad types for mac blockdev_size() Signed-off-by: Jens Axboe --- 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)