*dst = strdup(__src);
}
-static void string_to_net(uint8_t *dst, const char *src)
+static void __string_to_net(uint8_t *dst, const char *src, size_t dst_size)
{
- if (src)
- strcpy((char *) dst, src);
- else
+ if (src) {
+ dst[dst_size - 1] = '\0';
+ strncpy((char *) dst, src, dst_size - 1);
+ } else
dst[0] = '\0';
}
+#define string_to_net(dst, src) __string_to_net((dst), (src), sizeof(dst))
+
static void free_thread_options_to_cpu(struct thread_options *o)
{
free(o->description);
o->iodepth_batch = le32_to_cpu(top->iodepth_batch);
o->iodepth_batch_complete = le32_to_cpu(top->iodepth_batch_complete);
o->size = le64_to_cpu(top->size);
+ o->io_limit = le64_to_cpu(top->io_limit);
o->size_percent = le32_to_cpu(top->size_percent);
o->fill_device = le32_to_cpu(top->fill_device);
o->file_append = le32_to_cpu(top->file_append);
o->rand_seed = le64_to_cpu(top->rand_seed);
o->use_os_rand = le32_to_cpu(top->use_os_rand);
o->log_avg_msec = le32_to_cpu(top->log_avg_msec);
+ o->log_offset = le32_to_cpu(top->log_offset);
+ o->log_gz = le32_to_cpu(top->log_gz);
+ o->log_gz_store = le32_to_cpu(top->log_gz_store);
o->norandommap = le32_to_cpu(top->norandommap);
o->softrandommap = le32_to_cpu(top->softrandommap);
o->bs_unaligned = le32_to_cpu(top->bs_unaligned);
top->rand_seed = __cpu_to_le64(o->rand_seed);
top->use_os_rand = cpu_to_le32(o->use_os_rand);
top->log_avg_msec = cpu_to_le32(o->log_avg_msec);
+ top->log_offset = cpu_to_le32(o->log_offset);
+ top->log_gz = cpu_to_le32(o->log_gz);
+ top->log_gz_store = cpu_to_le32(o->log_gz_store);
top->norandommap = cpu_to_le32(o->norandommap);
top->softrandommap = cpu_to_le32(o->softrandommap);
top->bs_unaligned = cpu_to_le32(o->bs_unaligned);
memcpy(top->buffer_pattern, o->buffer_pattern, MAX_PATTERN_SIZE);
top->size = __cpu_to_le64(o->size);
+ top->io_limit = __cpu_to_le64(o->io_limit);
top->verify_backlog = __cpu_to_le64(o->verify_backlog);
top->start_delay = __cpu_to_le64(o->start_delay);
top->start_delay_high = __cpu_to_le64(o->start_delay_high);