Refine packed annotations in stat.h
[fio.git] / cconv.c
diff --git a/cconv.c b/cconv.c
index 1d7f6f22350327e99ef070acb3a3764ace470711..0e65724627884df583fe1a0c4793f85929ec70b3 100644 (file)
--- a/cconv.c
+++ b/cconv.c
@@ -13,10 +13,9 @@ static void string_to_cpu(char **dst, const uint8_t *src)
 
 static void __string_to_net(uint8_t *dst, const char *src, size_t dst_size)
 {
-       if (src) {
-               dst[dst_size - 1] = '\0';
-               strncpy((char *) dst, src, dst_size - 1);
-       } else
+       if (src)
+               snprintf((char *) dst, dst_size, "%s", src);
+       else
                dst[0] = '\0';
 }
 
@@ -37,6 +36,7 @@ static void free_thread_options_to_cpu(struct thread_options *o)
        free(o->mmapfile);
        free(o->read_iolog_file);
        free(o->write_iolog_file);
+       free(o->merge_blktrace_file);
        free(o->bw_log_file);
        free(o->lat_log_file);
        free(o->iops_log_file);
@@ -73,6 +73,7 @@ void convert_thread_options_to_cpu(struct thread_options *o,
        string_to_cpu(&o->mmapfile, top->mmapfile);
        string_to_cpu(&o->read_iolog_file, top->read_iolog_file);
        string_to_cpu(&o->write_iolog_file, top->write_iolog_file);
+       string_to_cpu(&o->merge_blktrace_file, top->merge_blktrace_file);
        string_to_cpu(&o->bw_log_file, top->bw_log_file);
        string_to_cpu(&o->lat_log_file, top->lat_log_file);
        string_to_cpu(&o->iops_log_file, top->iops_log_file);
@@ -304,6 +305,12 @@ void convert_thread_options_to_cpu(struct thread_options *o,
 
        for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
                o->percentile_list[i].u.f = fio_uint64_to_double(le64_to_cpu(top->percentile_list[i].u.i));
+
+       for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
+               o->merge_blktrace_scalars[i].u.f = fio_uint64_to_double(le64_to_cpu(top->merge_blktrace_scalars[i].u.i));
+
+       for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
+               o->merge_blktrace_iters[i].u.f = fio_uint64_to_double(le64_to_cpu(top->merge_blktrace_iters[i].u.i));
 #if 0
        uint8_t cpumask[FIO_TOP_STR_MAX];
        uint8_t verify_cpumask[FIO_TOP_STR_MAX];
@@ -330,6 +337,7 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
        string_to_net(top->mmapfile, o->mmapfile);
        string_to_net(top->read_iolog_file, o->read_iolog_file);
        string_to_net(top->write_iolog_file, o->write_iolog_file);
+       string_to_net(top->merge_blktrace_file, o->merge_blktrace_file);
        string_to_net(top->bw_log_file, o->bw_log_file);
        string_to_net(top->lat_log_file, o->lat_log_file);
        string_to_net(top->iops_log_file, o->iops_log_file);
@@ -565,6 +573,12 @@ void convert_thread_options_to_net(struct thread_options_pack *top,
 
        for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
                top->percentile_list[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->percentile_list[i].u.f));
+
+       for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
+               top->merge_blktrace_scalars[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->merge_blktrace_scalars[i].u.f));
+
+       for (i = 0; i < FIO_IO_U_LIST_MAX_LEN; i++)
+               top->merge_blktrace_iters[i].u.i = __cpu_to_le64(fio_double_to_uint64(o->merge_blktrace_iters[i].u.f));
 #if 0
        uint8_t cpumask[FIO_TOP_STR_MAX];
        uint8_t verify_cpumask[FIO_TOP_STR_MAX];