More cpu engine fixes

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.c b/fio.c
index 0ec4f5a..6f9a378 100644
--- a/fio.c
+++ b/fio.c
@@ -657,10 +657,12 @@
 		memset(io_u, 0, sizeof(*io_u));
 		INIT_LIST_HEAD(&io_u->list);
 
-		io_u->buf = p + max_bs * i;
+		if (!(td->io_ops->flags & FIO_NOIO)) {
+			io_u->buf = p + max_bs * i;
 
-		if (td_write(td))
-			fill_io_buf(td, io_u, max_bs);
+			if (td_write(td))
+				fill_io_buf(td, io_u, max_bs);
+		}
 
 		io_u->index = i;
 		io_u->flags = IO_U_F_FREE;