NULL engine: ->commit() has side effects, make sure it always works

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/engines/null.c b/engines/null.c
index acb8cf4..86b9cbd 100644
--- a/engines/null.c
+++ b/engines/null.c
@@ -45,8 +45,11 @@
 {
 	struct null_data *nd = td->io_ops->data;
 
-	nd->events += nd->queued;
-	nd->queued = 0;
+	if (!nd->events) {
+		nd->events = nd->queued;
+		nd->queued = 0;
+	}
+
 	return 0;
 }
 
@@ -56,6 +59,8 @@
 
 	if (td->io_ops->flags & FIO_SYNCIO)
 		return FIO_Q_COMPLETED;
+	if (nd->events)
+		return FIO_Q_BUSY;
 
 	nd->io_us[nd->queued++] = io_u;
 	return FIO_Q_QUEUED;