Fixing wraparound behavior for time-based sequential read jobs
Previously, a buggy patch made sequential jobs wrap around when they
reached an offset of 'size'. However, the appropriate wraparound is at
size + initial offset. This patch restores the previous behavior.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/filesetup.c b/filesetup.c
index 6277f0f..3594a80 100644
--- a/filesetup.c
+++ b/filesetup.c
@@ -657,6 +657,12 @@
return ret;
}
+unsigned long long get_start_offset(struct thread_data *td)
+{
+ return td->o.start_offset +
+ (td->thread_number - 1) * td->o.offset_increment;
+}
+
/*
* Open the files and setup files sizes, creating files if necessary.
*/
@@ -718,8 +724,7 @@
extend_size = total_size = 0;
need_extend = 0;
for_each_file(td, f, i) {
- f->file_offset = td->o.start_offset +
- (td->thread_number - 1) * td->o.offset_increment;
+ f->file_offset = get_start_offset(td);
if (!td->o.file_size_low) {
/*