Merge branch 'master' into gfio
[fio.git] / cconv.c
diff --git a/cconv.c b/cconv.c
index d94502b467ea1c2f60cf1f90ef1c50641ca9adf0..ea25e0a16870c19893a3c540a3d88c76c54dab4f 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]);
@@ -84,18 +84,20 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->nr_files = le32_to_cpu(top->nr_files);
        o->open_files = le32_to_cpu(top->open_files);
        o->file_lock_mode = le32_to_cpu(top->file_lock_mode);
-       o->lockfile_batch = le32_to_cpu(top->lockfile_batch);
        o->odirect = le32_to_cpu(top->odirect);
        o->invalidate_cache = le32_to_cpu(top->invalidate_cache);
        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);
        o->verify = le32_to_cpu(top->verify);
        o->do_verify = le32_to_cpu(top->do_verify);
        o->verifysort = le32_to_cpu(top->verifysort);
+       o->verifysort_nr = le32_to_cpu(top->verifysort_nr);
+       o->experimental_verify = le32_to_cpu(top->experimental_verify);
        o->verify_interval = le32_to_cpu(top->verify_interval);
        o->verify_offset = le32_to_cpu(top->verify_offset);
 
@@ -112,14 +114,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 +148,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 +157,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);
@@ -165,6 +171,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->disable_clat = le32_to_cpu(top->disable_clat);
        o->disable_slat = le32_to_cpu(top->disable_slat);
        o->disable_bw = le32_to_cpu(top->disable_bw);
+       o->unified_rw_rep = le32_to_cpu(top->unified_rw_rep);
        o->gtod_reduce = le32_to_cpu(top->gtod_reduce);
        o->gtod_cpu = le32_to_cpu(top->gtod_cpu);
        o->gtod_offload = le32_to_cpu(top->gtod_offload);
@@ -174,7 +181,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        o->trim_batch = le32_to_cpu(top->trim_batch);
        o->trim_zero = le32_to_cpu(top->trim_zero);
        o->clat_percentiles = le32_to_cpu(top->clat_percentiles);
-       o->overwrite_plist = le32_to_cpu(top->overwrite_plist);
+       o->percentile_precision = le32_to_cpu(top->percentile_precision);
        o->continue_on_error = le32_to_cpu(top->continue_on_error);
        o->cgroup_weight = le32_to_cpu(top->cgroup_weight);
        o->cgroup_nodelete = le32_to_cpu(top->cgroup_nodelete);
@@ -236,18 +243,20 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->nr_files = cpu_to_le32(o->nr_files);
        top->open_files = cpu_to_le32(o->open_files);
        top->file_lock_mode = cpu_to_le32(o->file_lock_mode);
-       top->lockfile_batch = cpu_to_le32(o->lockfile_batch);
        top->odirect = cpu_to_le32(o->odirect);
        top->invalidate_cache = cpu_to_le32(o->invalidate_cache);
        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);
        top->verify = cpu_to_le32(o->verify);
        top->do_verify = cpu_to_le32(o->do_verify);
        top->verifysort = cpu_to_le32(o->verifysort);
+       top->verifysort_nr = cpu_to_le32(o->verifysort_nr);
+       top->experimental_verify = cpu_to_le32(o->experimental_verify);
        top->verify_interval = cpu_to_le32(o->verify_interval);
        top->verify_offset = cpu_to_le32(o->verify_offset);
        top->verify_pattern_bytes = cpu_to_le32(o->verify_pattern_bytes);
@@ -261,14 +270,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 +293,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 +302,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);
@@ -303,6 +316,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->disable_clat = cpu_to_le32(o->disable_clat);
        top->disable_slat = cpu_to_le32(o->disable_slat);
        top->disable_bw = cpu_to_le32(o->disable_bw);
+       top->unified_rw_rep = cpu_to_le32(o->unified_rw_rep);
        top->gtod_reduce = cpu_to_le32(o->gtod_reduce);
        top->gtod_cpu = cpu_to_le32(o->gtod_cpu);
        top->gtod_offload = cpu_to_le32(o->gtod_offload);
@@ -312,7 +326,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        top->trim_batch = cpu_to_le32(o->trim_batch);
        top->trim_zero = cpu_to_le32(o->trim_zero);
        top->clat_percentiles = cpu_to_le32(o->clat_percentiles);
-       top->overwrite_plist = cpu_to_le32(o->overwrite_plist);
+       top->percentile_precision = cpu_to_le32(o->percentile_precision);
        top->continue_on_error = cpu_to_le32(o->continue_on_error);
        top->cgroup_weight = cpu_to_le32(o->cgroup_weight);
        top->cgroup_nodelete = cpu_to_le32(o->cgroup_nodelete);
@@ -326,7 +340,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]);