From 823ba54bfc91f18fdd847e6efc41b422529bc4f8 Mon Sep 17 00:00:00 2001 From: Anton Blanchard Date: Mon, 7 Nov 2011 14:16:26 +0100 Subject: [PATCH] Fix big endian build MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit I get the following error when building fio on PowerPC: client.c: In function ‘convert_agg’: client.c:641:22: error: invalid operands to binary & (have ‘long double’ and ‘long long unsigned int’) It looks like we have things backwards, we should byteswap the integer value before we convert it to a double. Signed-off-by: Anton Blanchard Signed-off-by: Jens Axboe --- client.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client.c b/client.c index a61bc803..f1675492 100644 --- a/client.c +++ b/client.c @@ -638,7 +638,7 @@ static void convert_agg(struct disk_util_agg *agg) agg->io_ticks = le32_to_cpu(agg->io_ticks); agg->time_in_queue = le32_to_cpu(agg->time_in_queue); agg->slavecount = le32_to_cpu(agg->slavecount); - agg->max_util.u.f = __le64_to_cpu(fio_uint64_to_double(agg->max_util.u.i)); + agg->max_util.u.f = fio_uint64_to_double(__le64_to_cpu(agg->max_util.u.i)); } static void convert_dus(struct disk_util_stat *dus) -- 2.25.1