Recent changes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit cc62ea704e4de10eb595b551f29af41266cf225d:

  Fix a few other static code checker spotted "issues" (2012-02-09 21:17:06 +0100)

are available in the git repository at:
  git://git.kernel.dk/fio.git master

Jens Axboe (3):
      Fix missing ';' before slave disk utilization in terse output
      Slave aggregate output format fix
      Change iolog overlap assert to a debug dump

 diskutil.c |   11 +++++------
 iolog.c    |   13 ++++++++++++-
 2 files changed, 17 insertions(+), 7 deletions(-)

---

Diff of recent changes:

diff --git a/diskutil.c b/diskutil.c
index 4ddaa33..e4b4b8a 100644
--- a/diskutil.c
+++ b/diskutil.c
@@ -470,7 +470,7 @@ static void show_agg_stats(struct disk_util_agg *agg, int terse)
 				agg->time_in_queue / agg->slavecount,
 				agg->max_util.u.f);
 	} else {
-		log_info("slaves;%u;%u;%u;%u;%u;%u;%u;%3.2f%%",
+		log_info(";slaves;%u;%u;%u;%u;%u;%u;%u;%3.2f%%",
 				agg->ios[0] / agg->slavecount,
 				agg->ios[1] / agg->slavecount,
 				agg->merges[0] / agg->slavecount,
@@ -540,10 +540,10 @@ void print_disk_util(struct disk_util_stat *dus, struct disk_util_agg *agg,
 	if (util > 100.0)
 		util = 100.0;
 
-	if (agg->slavecount)
-		log_info("  ");
-
 	if (!terse) {
+		if (agg->slavecount)
+			log_info("  ");
+
 		log_info("  %s: ios=%u/%u, merge=%u/%u, ticks=%u/%u, "
 			 "in_queue=%u, util=%3.2f%%", dus->name,
 					dus->ios[0], dus->ios[1],
@@ -562,8 +562,7 @@ void print_disk_util(struct disk_util_stat *dus, struct disk_util_agg *agg,
 	 * If the device has slaves, aggregate the stats for
 	 * those slave devices also.
 	 */
-	if (agg->slavecount)
-		show_agg_stats(agg, terse);
+	show_agg_stats(agg, terse);
 
 	if (!terse)
 		log_info("\n");
diff --git a/iolog.c b/iolog.c
index 1d61ba2..c1764ba 100644
--- a/iolog.c
+++ b/iolog.c
@@ -176,6 +176,12 @@ void prune_io_piece_log(struct thread_data *td)
 	}
 }
 
+static void dump_ipo(struct io_piece *ipo, const char *msg)
+{
+	printf("%s\n", msg);
+	printf("\toffset %llu, len %lu, fl %x, ddir %d\n", ipo->offset, ipo->len, ipo->flags, ipo->ddir);
+}
+
 /*
  * log a successful write, so we can unwind the log for verify
  */
@@ -239,7 +245,12 @@ restart:
 		else if (ipo->offset > __ipo->offset)
 			p = &(*p)->rb_right;
 		else {
-			assert(ipo->len == __ipo->len);
+			if (ipo->len != __ipo->len) {
+				log_err("fio: unexpected ipo overlap!\n");
+				log_err("fio: please report this issue.\n");
+				dump_ipo(ipo, "ipo");
+				dump_ipo(__ipo, "__ipo");
+			}
 			td->io_hist_len--;
 			rb_erase(parent, &td->io_hist_tree);
 			remove_trim_entry(td, __ipo);
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux