client/server: make sure that all elements in io_u_lat_m[] are transferred and received
authorVincent Fu <Vincent.Fu@sandisk.com>
Sun, 16 Apr 2017 19:04:27 +0000 (15:04 -0400)
committerJens Axboe <axboe@fb.com>
Wed, 3 May 2017 14:49:37 +0000 (08:49 -0600)
FIO_IO_U_LAT_U_NR is 10 whereas FIO_IO_U_LAT_M_NR is 12. So we must iterate
over io_u_lat_u and io_u_lat_m separately.

Signed-off-by: Jens Axboe <axboe@fb.com>
client.c
server.c

index 7934661cae1ec73e32491262fcdec854c48b9014..80096bf8a81a7bc652fab31fc146dca24718d6e7 100644 (file)
--- a/client.c
+++ b/client.c
@@ -908,10 +908,10 @@ static void convert_ts(struct thread_stat *dst, struct thread_stat *src)
                dst->io_u_complete[i]   = le32_to_cpu(src->io_u_complete[i]);
        }
 
-       for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) {
+       for (i = 0; i < FIO_IO_U_LAT_U_NR; i++)
                dst->io_u_lat_u[i]      = le32_to_cpu(src->io_u_lat_u[i]);
+       for (i = 0; i < FIO_IO_U_LAT_M_NR; i++)
                dst->io_u_lat_m[i]      = le32_to_cpu(src->io_u_lat_m[i]);
-       }
 
        for (i = 0; i < DDIR_RWDIR_CNT; i++)
                for (j = 0; j < FIO_IO_U_PLAT_NR; j++)
index 1b3bc30a0b5c09a29dbef280682e16fb5ae62d71..1e269c29da15319ac22ede6f56b81301926d50f5 100644 (file)
--- a/server.c
+++ b/server.c
@@ -1497,10 +1497,10 @@ void fio_server_send_ts(struct thread_stat *ts, struct group_run_stats *rs)
                p.ts.io_u_complete[i]   = cpu_to_le32(ts->io_u_complete[i]);
        }
 
-       for (i = 0; i < FIO_IO_U_LAT_U_NR; i++) {
+       for (i = 0; i < FIO_IO_U_LAT_U_NR; i++)
                p.ts.io_u_lat_u[i]      = cpu_to_le32(ts->io_u_lat_u[i]);
+       for (i = 0; i < FIO_IO_U_LAT_M_NR; i++)
                p.ts.io_u_lat_m[i]      = cpu_to_le32(ts->io_u_lat_m[i]);
-       }
 
        for (i = 0; i < DDIR_RWDIR_CNT; i++)
                for (j = 0; j < FIO_IO_U_PLAT_NR; j++)