options: add category/group to random_generator/random_distribution
[fio.git] / cconv.c
diff --git a/cconv.c b/cconv.c
index d94502b467ea1c2f60cf1f90ef1c50641ca9adf0..173312311b336b32e8522db2582aef31460d6e10 100644 (file)
--- a/cconv.c
+++ b/cconv.c
@@ -58,7 +58,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->file_size_high = le64_to_cpu(top->file_size_high);
        o->start_offset = le64_to_cpu(top->start_offset);
 
-       for (i = 0; i < 2; i++) {
+       for (i = 0; i < DDIR_RWDIR_CNT; i++) {
                o->bs[i] = le32_to_cpu(top->bs[i]);
                o->ba[i] = le32_to_cpu(top->ba[i]);
                o->min_bs[i] = le32_to_cpu(top->min_bs[i]);
@@ -90,6 +90,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->create_serialize = le32_to_cpu(top->create_serialize);
        o->create_fsync = le32_to_cpu(top->create_fsync);
        o->create_on_open = le32_to_cpu(top->create_on_open);
+       o->create_only = le32_to_cpu(top->create_only);
        o->end_fsync = le32_to_cpu(top->end_fsync);
        o->pre_read = le32_to_cpu(top->pre_read);
        o->sync_io = le32_to_cpu(top->sync_io);
@@ -112,14 +113,15 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->override_sync = le32_to_cpu(top->override_sync);
        o->rand_repeatable = le32_to_cpu(top->rand_repeatable);
        o->use_os_rand = le32_to_cpu(top->use_os_rand);
-       o->write_lat_log = le32_to_cpu(top->write_lat_log);
-       o->write_bw_log = le32_to_cpu(top->write_bw_log);
-       o->write_iops_log = le32_to_cpu(top->write_iops_log);
        o->log_avg_msec = le32_to_cpu(top->log_avg_msec);
        o->norandommap = le32_to_cpu(top->norandommap);
        o->softrandommap = le32_to_cpu(top->softrandommap);
        o->bs_unaligned = le32_to_cpu(top->bs_unaligned);
        o->fsync_on_close = le32_to_cpu(top->fsync_on_close);
+       o->random_distribution = le32_to_cpu(top->random_distribution);
+       o->zipf_theta.u.f = fio_uint64_to_double(le64_to_cpu(top->zipf_theta.u.i));
+       o->pareto_h.u.f = fio_uint64_to_double(le64_to_cpu(top->pareto_h.u.i));
+       o->random_generator = le32_to_cpu(top->random_generator);
        o->hugepage_size = le32_to_cpu(top->hugepage_size);
        o->rw_min_bs = le32_to_cpu(top->rw_min_bs);
        o->thinktime = le32_to_cpu(top->thinktime);
@@ -145,6 +147,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->loops = le32_to_cpu(top->loops);
        o->mem_type = le32_to_cpu(top->mem_type);
        o->mem_align = le32_to_cpu(top->mem_align);
+       o->max_latency = le32_to_cpu(top->max_latency);
        o->stonewall = le32_to_cpu(top->stonewall);
        o->new_group = le32_to_cpu(top->new_group);
        o->numjobs = le32_to_cpu(top->numjobs);
@@ -153,6 +156,8 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->iolog = le32_to_cpu(top->iolog);
        o->rwmixcycle = le32_to_cpu(top->rwmixcycle);
        o->nice = le32_to_cpu(top->nice);
+       o->ioprio = le32_to_cpu(top->ioprio);
+       o->ioprio_class = le32_to_cpu(top->ioprio_class);
        o->file_service_type = le32_to_cpu(top->file_service_type);
        o->group_reporting = le32_to_cpu(top->group_reporting);
        o->fadvise_hint = le32_to_cpu(top->fadvise_hint);
@@ -242,6 +247,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->create_serialize = cpu_to_le32(o->create_serialize);
        top->create_fsync = cpu_to_le32(o->create_fsync);
        top->create_on_open = cpu_to_le32(o->create_on_open);
+       top->create_only = cpu_to_le32(o->create_only);
        top->end_fsync = cpu_to_le32(o->end_fsync);
        top->pre_read = cpu_to_le32(o->pre_read);
        top->sync_io = cpu_to_le32(o->sync_io);
@@ -261,14 +267,15 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->override_sync = cpu_to_le32(o->override_sync);
        top->rand_repeatable = cpu_to_le32(o->rand_repeatable);
        top->use_os_rand = cpu_to_le32(o->use_os_rand);
-       top->write_lat_log = cpu_to_le32(o->write_lat_log);
-       top->write_bw_log = cpu_to_le32(o->write_bw_log);
-       top->write_iops_log = cpu_to_le32(o->write_iops_log);
        top->log_avg_msec = cpu_to_le32(o->log_avg_msec);
        top->norandommap = cpu_to_le32(o->norandommap);
        top->softrandommap = cpu_to_le32(o->softrandommap);
        top->bs_unaligned = cpu_to_le32(o->bs_unaligned);
        top->fsync_on_close = cpu_to_le32(o->fsync_on_close);
+       top->random_distribution = cpu_to_le32(o->random_distribution);
+       top->zipf_theta.u.i = __cpu_to_le64(fio_double_to_uint64(o->zipf_theta.u.f));
+       top->pareto_h.u.i = __cpu_to_le64(fio_double_to_uint64(o->pareto_h.u.f));
+       top->random_generator = cpu_to_le32(o->random_generator);
        top->hugepage_size = cpu_to_le32(o->hugepage_size);
        top->rw_min_bs = cpu_to_le32(o->rw_min_bs);
        top->thinktime = cpu_to_le32(o->thinktime);
@@ -283,6 +290,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->loops = cpu_to_le32(o->loops);
        top->mem_type = cpu_to_le32(o->mem_type);
        top->mem_align = cpu_to_le32(o->mem_align);
+       top->max_latency = cpu_to_le32(o->max_latency);
        top->stonewall = cpu_to_le32(o->stonewall);
        top->new_group = cpu_to_le32(o->new_group);
        top->numjobs = cpu_to_le32(o->numjobs);
@@ -291,6 +299,8 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->iolog = cpu_to_le32(o->iolog);
        top->rwmixcycle = cpu_to_le32(o->rwmixcycle);
        top->nice = cpu_to_le32(o->nice);
+       top->ioprio = cpu_to_le32(o->ioprio);
+       top->ioprio_class = cpu_to_le32(o->ioprio_class);
        top->file_service_type = cpu_to_le32(o->file_service_type);
        top->group_reporting = cpu_to_le32(o->group_reporting);
        top->fadvise_hint = cpu_to_le32(o->fadvise_hint);
@@ -326,7 +336,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->compress_percentage = cpu_to_le32(o->compress_percentage);
        top->compress_chunk = cpu_to_le32(o->compress_chunk);
 
-       for (i = 0; i < 2; i++) {
+       for (i = 0; i < DDIR_RWDIR_CNT; i++) {
                top->bs[i] = cpu_to_le32(o->bs[i]);
                top->ba[i] = cpu_to_le32(o->ba[i]);
                top->min_bs[i] = cpu_to_le32(o->min_bs[i]);