Fix server/client set_options conversion
[fio.git] / cconv.c
diff --git a/cconv.c b/cconv.c
index 18edc0f30d8a22fefc92e3a28d01a3c4d2301240..0de2f5c7fd6e177081da95ef90e06c3e4eff574b 100644 (file)
--- a/cconv.c
+++ b/cconv.c
@@ -49,7 +49,9 @@ void convert_thread_options_to_cpu(struct thread_options *o,
 {
        int i, j;
 
-       memcpy(o->set_options, top->set_options, NR_OPTS_SZ * sizeof(uint64_t));
+       for (i = 0; i < NR_OPTS_SZ; i++)
+               o->set_options[i] = le64_to_cpu(top->set_options[i]);
+
        string_to_cpu(&o->description, top->description);
        string_to_cpu(&o->name, top->name);
        string_to_cpu(&o->directory, top->directory);
@@ -257,7 +259,9 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
 {
        int i, j;
 
-       memcpy(top->set_options, o->set_options, NR_OPTS_SZ * sizeof(uint64_t));
+       for (i = 0; i < NR_OPTS_SZ; i++)
+               top->set_options[i] = cpu_to_le64(o->set_options[i]);
+
        string_to_net(top->description, o->description);
        string_to_net(top->name, o->name);
        string_to_net(top->directory, o->directory);