Improve iodepth logging

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/ioengines.c b/ioengines.c
index 984c01a..d3ee4b9 100644
--- a/ioengines.c
+++ b/ioengines.c
@@ -237,14 +237,20 @@
 
 	unlock_file(td, io_u->file);
 
-	if (ret != FIO_Q_BUSY)
-		io_u_mark_depth(td, io_u, 1);
-
-	if (ret == FIO_Q_QUEUED) {
+	if (ret == FIO_Q_COMPLETED) {
+		if (io_u->ddir != DDIR_SYNC) {
+			io_u_mark_depth(td, 1);
+			td->ts.total_io_u[io_u->ddir]++;
+		}
+	} else if (ret == FIO_Q_QUEUED) {
 		int r;
 
-		td->io_u_queued++;
-		if (td->io_u_queued > td->o.iodepth_batch) {
+		if (io_u->ddir != DDIR_SYNC) {
+			td->io_u_queued++;
+			td->ts.total_io_u[io_u->ddir]++;
+		}
+
+		if (td->io_u_queued >= td->o.iodepth_batch) {
 			r = td_io_commit(td);
 			if (r < 0)
 				return r;
@@ -288,10 +294,12 @@
 {
 	dprint(FD_IO, "calling ->commit(), depth %d\n", td->cur_depth);
 
-	if (!td->cur_depth)
+	if (!td->cur_depth || !td->io_u_queued)
 		return 0;
 
+	io_u_mark_depth(td, td->io_u_queued);
 	td->io_u_queued = 0;
+
 	if (td->io_ops->commit)
 		return td->io_ops->commit(td);