target: fixes

1) Use parent for should_account(), if we have a parent
2) Only sum step stats if src has them, to prevent
   overwriting destination stats in the parent.
3) Pretty up the normal output a bit

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/io_u.c b/io_u.c
index e1ac209..0c5bbad 100644
--- a/io_u.c
+++ b/io_u.c
@@ -1752,6 +1752,9 @@
 
 static bool should_account(struct thread_data *td)
 {
+	if (td->parent)
+		td = td->parent;
+
 	return lat_step_account(td) && ramp_time_over(td) &&
 		(td->runstate == TD_RUNNING || td->runstate == TD_VERIFYING);
 }
diff --git a/stat.c b/stat.c
index 26125fa..13e7ff2 100644
--- a/stat.c
+++ b/stat.c
@@ -1717,8 +1717,11 @@
 	dst->total_complete += src->total_complete;
 	dst->nr_zone_resets += src->nr_zone_resets;
 
-	for (l = 0; l < ARRAY_SIZE(dst->step_stats); l++)
+	for (l = 0; l < ARRAY_SIZE(dst->step_stats); l++) {
+		if (!__lat_ts_has_stats(src, l))
+			continue;
 		sum_lat_step_stats(&dst->step_stats[l], &src->step_stats[l], first);
+	}
 }
 
 void init_group_run_stat(struct group_run_stats *gs)
diff --git a/target.c b/target.c
index d372ff1..bc15300 100644
--- a/target.c
+++ b/target.c
@@ -296,7 +296,12 @@
 			if (!ls->iops[j])
 				continue;
 
-			__log_buf(out, "    %s: iops=%llu, lat=%.1f nsec\n",
+			if (!j)
+				__log_buf(out, "    [%2d] ", i);
+			else
+				__log_buf(out, "         ");
+
+			__log_buf(out, "%5s: iops=%llu, lat=%.1f nsec\n",
 					io_ddir_name(j),
 					(unsigned long long) ls->iops[j],
 					ls->avg[j].u.f);