Recent changes (master)
The following changes since commit 95e564523d502e5a682ae7f6ee793ca4c9ca76ca:
rate: remove redundant code in rate_ddir() (2015-03-12 10:05:25 -0600)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to 7d1bb70f3d85d041b4b7dd926e98054fea980bdc:
Scramble IO buffers unless explicitly told not (2015-03-17 18:11:07 -0600)
----------------------------------------------------------------
Jens Axboe (3):
smalloc: don't crash on being passed a bad pointer
io_u: fix refill, should be random content Scramble IO buffers unless explicitly told not
Zev Weiss (1):
init: fix exit status with bogus arguments
init.c | 3 +++ io_u.c | 7 +++++-- smalloc.c | 8 ++++++-- 3 files changed, 14 insertions(+), 4 deletions(-)
---
Diff of recent changes:
init.c +3 -0
@@ -2135,6 +2135,7 @@ int parse_cmd_line(int argc, char *argv[], int client_type) td =NULL ; } do_exit++; + exit_val =1 ;break ; }fio_options_set_ioengine_opts (l_opts, td);
@@ -2153,6 +2154,7 @@ int parse_cmd_line(int argc, char *argv[], int client_type) td =NULL ; } do_exit++; + exit_val =1 ; }if (!ret && !strcmp (opt,"ioengine" )) {
@@ -2161,6 +2163,7 @@ int parse_cmd_line(int argc, char *argv[], int client_type)put_job (td); td =NULL ; do_exit++; + exit_val =1 ;break ; }fio_options_set_ioengine_opts (l_opts, td);
io_u.c +5 -2
@@ -1484,7 +1484,8 @@ struct io_u *get_io_u(struct thread_data *td)io_u_fill_buffer (td, io_u, td->o.min_bs[DDIR_WRITE ], io_u->xfer_buflen); - }else if ((td->flags &TD_F_SCRAMBLE_BUFFERS ) && + } +if ((td->flags &TD_F_SCRAMBLE_BUFFERS ) && !(td->flags &TD_F_COMPRESS )) do_scramble =1 ;if (td->flags &TD_F_VER_NONE ) {
@@ -1895,8 +1896,10 @@ void fill_io_buffer(struct thread_data *td, void *buf, unsigned int min_write, }while (left); }else if (o->buffer_pattern_bytes)fill_buffer_pattern (td, buf, max_bs); -else +else if (o->zero_buffers)memset (buf,0 , max_bs); +else +fill_random_buf (get_buf_state (td), buf, max_bs); }/*
smalloc.c +6 -2
@@ -363,8 +363,12 @@ void sfree(void *ptr)global_read_unlock (); -assert (pool); -sfree_pool (pool, ptr); +if (pool) { +sfree_pool (pool, ptr); +return ; + } + +log_err ("smalloc: ptr %p not from smalloc pool\n" , ptr); }static void *__smalloc_pool (struct pool *pool,size_t size)