backend: only check bytes_done for engines without FIO_NOIO
This basically reverts the functional part of commit 2557f7e6.
Instead of having to fiddle with the io_u manually, have
the backend check whether we expect data to have been transerred
or not.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/backend.c b/backend.c
index 3b42c4d..1c944d6 100644
--- a/backend.c
+++ b/backend.c
@@ -726,7 +726,7 @@
if (ret < 0)
break;
- if (!ddir_rw_sum(bytes_done))
+ if (!ddir_rw_sum(bytes_done) && !(td->io_ops->flags & FIO_NOIO))
continue;
if (!in_ramp_time(td) && should_check_rate(td, bytes_done)) {
diff --git a/engines/cpu.c b/engines/cpu.c
index 322dfde..8bc9fd5 100644
--- a/engines/cpu.c
+++ b/engines/cpu.c
@@ -10,11 +10,6 @@
static int fio_cpuio_queue(struct thread_data *td, struct io_u fio_unused *io_u)
{
usec_spin(td->o.cpucycle);
-
- if (io_u->buflen == 0)
- io_u->buflen = 1;
- io_u->resid = 0;
-
return FIO_Q_COMPLETED;
}