From: Anton Blanchard Date: Mon, 7 Nov 2011 13:16:26 +0000 (+0100) Subject: Fix big endian build X-Git-Tag: fio-1.99.11~4 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=823ba54bfc91f18fdd847e6efc41b422529bc4f8 Fix big endian build 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 --- 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)