Fix problem with iodepth_batch_complete=0 and accounting

If the queue is full, we always need to reap at least one event.
Otherwise we end up failing get_io_u() and restarting the file.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/backend.c b/backend.c
index 7343286..a9885c6 100644
--- a/backend.c
+++ b/backend.c
@@ -494,7 +494,10 @@
 		if (full || !td->o.iodepth_batch_complete) {
 			min_events = min(td->o.iodepth_batch_complete,
 					 td->cur_depth);
-			if (full && !min_events && td->o.iodepth_batch_complete != 0)
+			/*
+			 * if the queue is full, we MUST reap at least 1 event
+			 */
+			if (full && !min_events)
 				min_events = 1;
 
 			do {
@@ -676,7 +679,10 @@
 		if (full || !td->o.iodepth_batch_complete) {
 			min_evts = min(td->o.iodepth_batch_complete,
 					td->cur_depth);
-			if (full && !min_evts && td->o.iodepth_batch_complete != 0)
+			/*
+			 * if the queue is full, we MUST reap at least 1 event
+			 */
+			if (full && !min_evts)
 				min_evts = 1;
 
 			if (__should_check_rate(td, 0) ||
diff --git a/io_u.c b/io_u.c
index 20794c3..ba67579 100644
--- a/io_u.c
+++ b/io_u.c
@@ -13,7 +13,6 @@
 
 struct io_completion_data {
 	int nr;				/* input */
-	int account;			/* input */
 
 	int error;			/* output */
 	unsigned long bytes_done[2];	/* output */
@@ -1293,9 +1292,6 @@
 {
 	unsigned long uninitialized_var(lusec);
 
-	if (!icd->account)
-		return;
-
 	if (!td->o.disable_clat || !td->o.disable_bw)
 		lusec = utime_since(&io_u->issue_time, &icd->time);
 
@@ -1431,7 +1427,6 @@
 		fio_gettime(&icd->time, NULL);
 
 	icd->nr = nr;
-	icd->account = 1;
 
 	icd->error = 0;
 	icd->bytes_done[0] = icd->bytes_done[1] = 0;
@@ -1450,8 +1445,6 @@
 
 		if (!(io_u->flags & IO_U_F_FREE_DEF))
 			put_io_u(td, io_u);
-
-		icd->account = 0;
 	}
 }