Cleanup the parallellized log writing

And move it all to iolog.c, this means we can un-export
some of the log functions, too.

Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/backend.c b/backend.c
index 5e7a388..5ac3659 100644
--- a/backend.c
+++ b/backend.c
@@ -1223,120 +1223,6 @@
 	return bytes_done[DDIR_WRITE] + bytes_done[DDIR_TRIM];
 }
 
-static int write_this_log(struct thread_data *td, struct io_log *log,
-			  const char *log_file, const char *name, int try)
-{
-	int ret;
-
-	if (!log)
-		return 0;
-
-	if (log_file)
-		ret = finish_log_named(td, log, log_file, name, try);
-	else
-		ret = finish_log(td, log, name, try);
-
-	return ret;
-}
-
-static int write_iops_log(struct thread_data *td, struct thread_options *o,
-			  int try)
-{
-	return write_this_log(td, td->iops_log, o->iops_log_file, "iops", try);
-}
-
-static int write_slat_log(struct thread_data *td, struct thread_options *o,
-			  int try)
-{
-	return write_this_log(td, td->slat_log, o->lat_log_file, "slat", try);
-}
-
-static int write_clat_log(struct thread_data *td, struct thread_options *o,
-			  int try)
-{
-	return write_this_log(td, td->clat_log, o->lat_log_file, "clat" , try);
-}
-
-static int write_lat_log(struct thread_data *td, struct thread_options *o,
-			 int try)
-{
-	return write_this_log(td, td->lat_log, o->lat_log_file, "lat", try);
-}
-
-static int write_bandw_log(struct thread_data *td, struct thread_options *o,
-			int try)
-{
-	return write_this_log(td, td->bw_log, o->bw_log_file, "bw", try);
-}
-
-enum {
-	BW_LOG_MASK	= 1,
-	LAT_LOG_MASK	= 2,
-	SLAT_LOG_MASK	= 4,
-	CLAT_LOG_MASK	= 8,
-	IOPS_LOG_MASK	= 16,
-
-	ALL_LOG_MASK	= 31,
-	ALL_LOG_NR	= 5,
-};
-
-static void writeout_logs(struct thread_data *td)
-{
-	struct thread_options *o = &td->o;
-	unsigned int log_mask = ALL_LOG_MASK;
-	unsigned int log_left = ALL_LOG_NR;
-	int old_state;
-
-	old_state = td_bump_runstate(td, TD_FINISHING);
-
-	finalize_logs(td);
-
-	while (log_left) {
-		int ret, prev_log_left = log_left;
-
-		if (log_mask & BW_LOG_MASK) {
-			ret = write_bandw_log(td, o, log_left != 1);
-			if (!ret) {
-				log_left--;
-				log_mask &= ~BW_LOG_MASK;
-			}
-		}
-		if (log_mask & LAT_LOG_MASK) {
-			ret = write_lat_log(td, o, log_left != 1);
-			if (!ret) {
-				log_left--;
-				log_mask &= ~LAT_LOG_MASK;
-			}
-		}
-		if (log_mask & SLAT_LOG_MASK) {
-			ret = write_slat_log(td, o, log_left != 1);
-			if (!ret) {
-				log_left--;
-				log_mask &= ~SLAT_LOG_MASK;
-			}
-		}
-		if (log_mask & CLAT_LOG_MASK) {
-			ret = write_clat_log(td, o, log_left != 1);
-			if (!ret) {
-				log_left--;
-				log_mask &= ~CLAT_LOG_MASK;
-			}
-		}
-		if (log_mask & IOPS_LOG_MASK) {
-			ret = write_iops_log(td, o, log_left != 1);
-			if (!ret) {
-				log_left--;
-				log_mask &= ~IOPS_LOG_MASK;
-			}
-		}
-
-		if (prev_log_left == log_left)
-			usleep(5000);
-	}
-
-	td_restore_runstate(td, old_state);
-}
-
 /*
  * Entry point for the thread based jobs. The process based jobs end up
  * here as well, after a little setup.
@@ -1603,7 +1489,7 @@
 
 	fio_unpin_memory(td);
 
-	writeout_logs(td);
+	fio_writeout_logs(td);
 
 	if (o->exec_postrun)
 		exec_string(o, o->exec_postrun, (const char *)"postrun");