[PATCH] 32-bit fixes
authorJens Axboe <axboe@suse.de>
Wed, 28 Dec 2005 22:50:45 +0000 (23:50 +0100)
committerJens Axboe <axboe@suse.de>
Wed, 28 Dec 2005 22:50:45 +0000 (23:50 +0100)
Need to bump some variables to full 64-bits on 32-bit archs as well.

examples/disk-zone-profile
fio.c
fio.h
os-freebsd.h
os-linux.h

index 50bd677..d95d9ea 100644 (file)
@@ -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 493aa64..ccceaa5 100644 (file)
--- 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 da0e1fd..3b4937d 100644 (file)
--- 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;
index 26dba90..bd6d6d0 100644 (file)
@@ -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;
 }
index 0b1fc00..9667ea0 100644 (file)
@@ -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;