[PATCH] Total io size / eta fix
Inadvertently the files were counted twice, hence ETA ended at 50%.
This was also the real bug for the verify ETA fixed a few days ago,
so reinstate the proper check when doing verifies as well.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/eta.c b/eta.c
index 9ad0b49..0eca3be 100644
--- a/eta.c
+++ b/eta.c
@@ -105,6 +105,17 @@
bytes_total = td->total_io_size;
+ /*
+ * if writing, bytes_total will be twice the size. If mixing,
+ * assume a 50/50 split and thus bytes_total will be 50% larger.
+ */
+ if (td->verify) {
+ if (td_rw(td))
+ bytes_total = bytes_total * 3 / 2;
+ else
+ bytes_total <<= 1;
+ }
+
if (td->zone_size && td->zone_skip)
bytes_total /= (td->zone_skip / td->zone_size);
diff --git a/filesetup.c b/filesetup.c
index 57735a9..327eb5a 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -86,7 +86,6 @@
* unless specifically asked for overwrite, let normal io extend it
*/
if (!td->overwrite) {
- td->io_size = td->total_file_size;
for_each_file(td, f, i)
f->file_size = td->total_file_size / td->nr_files;
@@ -109,10 +108,9 @@
err = create_file(td, f);
if (err)
break;
-
- td->io_size += f->file_size;
}
+ td->io_size = td->total_file_size;
temp_stall_ts = 0;
return err;
}
@@ -179,7 +177,6 @@
return 1;
}
- td->io_size += f->file_size;
return 0;
}