Recent changes (master)
The following changes since commit 06cbb3c71fc75dbeddebb53c8f0a2ea95dc28228:
Windows: re-enable the mmap ioengine and fix static asserts (2017-02-13 15:38:59 -0700)
are available in the git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to c1f50f765a0a51931605c1fb223d166e3b3a93c6:
Use 0 instead of DDIR_READ to iterate from 0 to DDIR_RWDIR_CNT (2017-02-14 08:24:24 -0700)
----------------------------------------------------------------
Tomohiro Kusumi (6):
configure: Drop default CONFIG_LITTLE_ENDIAN for Cygwin
configure: Use x86 instead of i386 for $cpu for IA32 Drop conditional declaration of disk_list
Always set ->real_file_size to -1 when failed to get file size Add missing "rand"/"trimwrite" strings to corresponding ddir slots Use 0 instead of DDIR_READ to iterate from 0 to DDIR_RWDIR_CNT
configure | 3 +-- diskutil.c | 2 -- eta.c | 6 +++--- filesetup.c | 6 ++++-- io_ddir.h | 4 ++-- io_u.c | 6 +++--- libfio.c | 5 ----- stat.c | 4 ++-- steadystate.c | 2 +- 9 files changed, 16 insertions(+), 22 deletions(-)
---
Diff of recent changes:
configure +1 -2
@@ -306,7 +306,6 @@ CYGWIN*) fi fi fi - output_sym "CONFIG_LITTLE_ENDIAN" if test ! -z "$build_32bit_win" && test "$build_32bit_win" = "yes"; then output_sym "CONFIG_32BIT" else
@@ -379,7 +378,7 @@ case "$cpu" in cpu="$cpu" ;; i386|i486|i586|i686|i86pc|BePC) - cpu="i386" + cpu="x86" ;; x86_64|amd64) cpu="x86_64"
diskutil.c +0 -2
@@ -18,8 +18,6 @@ static struct disk_util *last_du;static struct fio_mutex *disk_util_mutex; -FLIST_HEAD (disk_list); -static struct disk_util *__init_per_file_disk_util (struct thread_data *td,int majdev,int mindev,char *path);
eta.c +3 -3
@@ -440,7 +440,7 @@ bool calc_thread_status(struct jobs_eta *je, int force)if (td->runstate >TD_SETTING_UP ) {int ddir; -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) {if (unified_rw_rep) { io_bytes[0 ] += td->io_bytes[ddir]; io_iops[0 ] += td->io_blocks[ddir];
@@ -574,7 +574,7 @@ void display_thread_status(struct jobs_eta *je)sprintf (perc_str,"%3.1f%%" , perc); } -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) { rate_str[ddir] =num2str (je->rate[ddir],4 ,1024 , je->is_pow2, je->unit_base); iops_str[ddir] =num2str (je->iops[ddir],4 ,1 ,0 ,N2S_NONE );
@@ -601,7 +601,7 @@ void display_thread_status(struct jobs_eta *je) p +=sprintf (p,"%*s" , linelen_last - l,"" ); linelen_last = l; -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) {free (rate_str[ddir]);free (iops_str[ddir]); }
filesetup.c +4 -2
@@ -375,10 +375,12 @@ static int get_file_size(struct thread_data *td, struct fio_file *f)else if (f->filetype ==FIO_TYPE_CHAR ) ret =char_size (td, f);else - f->real_file_size =-1 ; + f->real_file_size =-1ULL ; -if (ret) +if (ret) { + f->real_file_size =-1ULL ;return ret; + }if (f->file_offset > f->real_file_size) { log_err("%s: offset extends end (%llu > %llu)\n", td->o.name,
io_ddir.h +2 -2
@@ -61,9 +61,9 @@ static inline int ddir_rw(enum fio_ddir ddir)static inline const char *ddir_str (enum td_ddir ddir) { -static const char *__str[] = {NULL ,"read" ,"write" ,"rw" ,NULL , +static const char *__str[] = {NULL ,"read" ,"write" ,"rw" ,"rand" ,"randread" ,"randwrite" ,"randrw" , -"trim" ,NULL ,NULL ,NULL ,"randtrim" }; +"trim" ,NULL ,"trimwrite" ,NULL ,"randtrim" };return __str[ddir]; }
io_u.c +3 -3
@@ -1902,7 +1902,7 @@ static void init_icd(struct thread_data *td, struct io_completion_data *icd, icd->nr = nr; icd->error =0 ; -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) icd->bytes_done[ddir] =0 ; }
@@ -1941,7 +1941,7 @@ int io_u_sync_complete(struct thread_data *td, struct io_u *io_u)return -1 ; } -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) td->bytes_done[ddir] += icd.bytes_done[ddir];return 0 ;
@@ -1980,7 +1980,7 @@ int io_u_queued_complete(struct thread_data *td, int min_evts)return -1 ; } -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) td->bytes_done[ddir] += icd.bytes_done[ddir];return ret;
libfio.c +0 -5
@@ -36,12 +36,7 @@#include "helper_thread.h" #include "filehash.h" -/* -* Just expose an empty list, if the OS does not support disk util stats -*/ -#ifndef FIO_HAVE_DISK_UTIL FLIST_HEAD (disk_list); -#endif unsigned long arch_flags =0 ;
stat.c +2 -2
@@ -2442,7 +2442,7 @@ static int add_bw_samples(struct thread_data *td, struct timeval *t)/* * Compute both read and write rates for the interval. */ -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) {uint64_t delta; delta = td->this_io_bytes[ddir] - td->stat_io_bytes[ddir];
@@ -2517,7 +2517,7 @@ static int add_iops_samples(struct thread_data *td, struct timeval *t)/* * Compute both read and write rates for the interval. */ -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) {uint64_t delta; delta = td->this_io_blocks[ddir] - td->stat_io_blocks[ddir];
steadystate.c +1 -1
@@ -231,7 +231,7 @@ void steadystate_check(void) }td_io_u_lock (td); -for (ddir =DDIR_READ ; ddir <DDIR_RWDIR_CNT ; ddir++) { +for (ddir =0 ; ddir <DDIR_RWDIR_CNT ; ddir++) { td_iops += td->io_blocks[ddir]; td_bytes += td->io_bytes[ddir]; }