From 9104f874d726e84739d3b4008eee0f6ddfe96714 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 28 Dec 2005 23:50:45 +0100 Subject: [PATCH] [PATCH] 32-bit fixes Need to bump some variables to full 64-bits on 32-bit archs as well. --- examples/disk-zone-profile | 2 +- fio.c | 8 ++++---- fio.h | 18 +++++++++--------- os-freebsd.h | 2 +- os-linux.h | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/disk-zone-profile b/examples/disk-zone-profile index 50bd6772..d95d9ea7 100644 --- a/examples/disk-zone-profile +++ b/examples/disk-zone-profile @@ -7,7 +7,7 @@ direct=1 rw=read ioengine=libaio iodepth=2 -zonesize=128m +zonesize=256m zoneskip=2g [/dev/sdb] diff --git a/fio.c b/fio.c index 493aa647..ccceaa58 100644 --- a/fio.c +++ b/fio.c @@ -1211,7 +1211,7 @@ static int file_size(struct thread_data *td) static int bdev_size(struct thread_data *td) { - size_t bytes; + unsigned long long bytes; int r; r = blockdev_size(td->fd, &bytes); @@ -1797,7 +1797,7 @@ static void show_ddir_status(struct thread_data *td, struct group_run_stats *rs, return; bw = td->io_bytes[ddir] / td->runtime[ddir]; - printf(" %s: io=%6luMiB, bw=%6luKiB/s, runt=%6lumsec\n", ddir_str[ddir], td->io_bytes[ddir] >> 20, bw, td->runtime[ddir]); + printf(" %s: io=%6lluMiB, bw=%6luKiB/s, runt=%6lumsec\n", ddir_str[ddir], td->io_bytes[ddir] >> 20, bw, td->runtime[ddir]); if (calc_lat(&td->slat_stat[ddir], &min, &max, &mean, &dev)) printf(" slat (msec): min=%5lu, max=%5lu, avg=%5.02f, dev=%5.02f\n", min, max, mean, dev); @@ -2124,9 +2124,9 @@ static void show_group_stats(struct group_run_stats *rs, int id) printf("\nRun status group %d (all jobs):\n", id); if (rs->max_run[DDIR_READ]) - printf(" READ: io=%luMiB, aggrb=%lu, minb=%lu, maxb=%lu, mint=%lumsec, maxt=%lumsec\n", rs->io_mb[0], rs->agg[0], rs->min_bw[0], rs->max_bw[0], rs->min_run[0], rs->max_run[0]); + printf(" READ: io=%lluMiB, aggrb=%llu, minb=%llu, maxb=%llu, mint=%llumsec, maxt=%llumsec\n", rs->io_mb[0], rs->agg[0], rs->min_bw[0], rs->max_bw[0], rs->min_run[0], rs->max_run[0]); if (rs->max_run[DDIR_WRITE]) - printf(" WRITE: io=%luMiB, aggrb=%lu, minb=%lu, maxb=%lu, mint=%lumsec, maxt=%lumsec\n", rs->io_mb[1], rs->agg[1], rs->min_bw[1], rs->max_bw[1], rs->min_run[1], rs->max_run[1]); + printf(" WRITE: io=%lluMiB, aggrb=%llu, minb=%llu, maxb=%llu, mint=%llumsec, maxt=%llumsec\n", rs->io_mb[1], rs->agg[1], rs->min_bw[1], rs->max_bw[1], rs->min_run[1], rs->max_run[1]); } static void show_disk_util(void) diff --git a/fio.h b/fio.h index da0e1fd2..3b4937d2 100644 --- a/fio.h +++ b/fio.h @@ -90,10 +90,10 @@ struct verify_header { }; struct group_run_stats { - unsigned long max_run[2], min_run[2]; - unsigned long max_bw[2], min_bw[2]; - unsigned long io_mb[2]; - unsigned long agg[2]; + unsigned long long max_run[2], min_run[2]; + unsigned long long max_bw[2], min_bw[2]; + unsigned long long io_mb[2]; + unsigned long long agg[2]; }; struct thread_data { @@ -176,10 +176,10 @@ struct thread_data { unsigned long long io_size; unsigned long long total_io_size; - unsigned long io_blocks[2]; - unsigned long io_bytes[2]; - unsigned long zone_bytes; - unsigned long this_io_bytes[2]; + unsigned long long io_blocks[2]; + unsigned long long io_bytes[2]; + unsigned long long zone_bytes; + unsigned long long this_io_bytes[2]; unsigned long long last_pos; sem_t mutex; @@ -194,7 +194,7 @@ struct thread_data { struct io_stat slat_stat[2]; /* submission latency */ struct io_stat bw_stat[2]; /* bandwidth stats */ - unsigned long stat_io_bytes[2]; + unsigned long long stat_io_bytes[2]; struct timeval stat_sample_time[2]; struct io_log *slat_log; diff --git a/os-freebsd.h b/os-freebsd.h index 26dba908..bd6d6d0e 100644 --- a/os-freebsd.h +++ b/os-freebsd.h @@ -15,7 +15,7 @@ typedef unsigned long os_cpu_mask_t; /* * FIXME */ -static inline int blockdev_size(int fd, size_t *bytes) +static inline int blockdev_size(int fd, unsigned long long *bytes) { return 1; } diff --git a/os-linux.h b/os-linux.h index 0b1fc00a..9667ea0a 100644 --- a/os-linux.h +++ b/os-linux.h @@ -42,7 +42,7 @@ enum { #define BLKGETSIZE64 _IOR(0x12,114,size_t) #endif -static inline int blockdev_size(int fd, size_t *bytes) +static inline int blockdev_size(int fd, unsigned long long *bytes) { if (!ioctl(fd, BLKGETSIZE64, bytes)) return 0; -- 2.25.1