X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=2beda816bb43d3102c675c848d67794b6f0876ca;hp=76c6ebd73b25e0eefb1b093ef5914530ee5b9389;hb=4b0c257cd785cf7af4a4722f41bd45174283f69d;hpb=b20b6be43e835cf84a87821d268751642ab64de5 diff --git a/fio.c b/fio.c index 76c6ebd7..2beda816 100644 --- a/fio.c +++ b/fio.c @@ -102,7 +102,7 @@ static void terminate_threads(int group_id) /* * if the thread is running, just let it exit */ - if (td->runstate < TD_RUNNING) + if (td->runstate < TD_RAMP) kill(td->pid, SIGTERM); else { struct ioengine_ops *ops = td->io_ops; @@ -180,7 +180,7 @@ static void set_sig_handlers(void) * Check if we are above the minimum rate given. */ static int __check_min_rate(struct thread_data *td, struct timeval *now, - enum td_ddir ddir) + enum fio_ddir ddir) { unsigned long long bytes = 0; unsigned long iops = 0; @@ -760,8 +760,11 @@ sync_done: struct fio_file *f; i = td->cur_depth; - if (i) + if (i) { ret = io_u_queued_complete(td, i, NULL); + if (td->o.fill_device && td->error == ENOSPC) + td->error = 0; + } if (should_fsync(td) && td->o.end_fsync) { td_set_runstate(td, TD_FSYNCING); @@ -1512,7 +1515,7 @@ static void run_threads(void) set_genesis_time(); while (todo) { - struct thread_data *map[MAX_JOBS]; + struct thread_data *map[REAL_MAX_JOBS]; struct timeval this_start; int this_jobs = 0, left;