From 899c29f26080585dadab9ba35cd7ed01b26fb19b Mon Sep 17 00:00:00 2001 From: Radha Ramachandran Date: Wed, 22 Apr 2009 08:17:42 +0200 Subject: [PATCH 1/1] Fix issue with random offset being off if io_size != real_file_size get_next_free_block() would generate offset that were larger than the requested size, either causing failures or just causing the test to exit prematurely. Signed-off-by: Jens Axboe --- io_u.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/io_u.c b/io_u.c index d92d9405..c0beafd4 100644 --- a/io_u.c +++ b/io_u.c @@ -113,7 +113,8 @@ static int get_next_free_block(struct thread_data *td, struct fio_file *f, i = f->last_free_lookup; *b = (i * BLOCKS_PER_MAP); - while ((*b) * min_bs < f->real_file_size) { + while ((*b) * min_bs < f->real_file_size && + (*b) * min_bs < f->io_size) { if (f->file_map[i] != (unsigned int) -1) { *b += ffz(f->file_map[i]); if (*b > last_block(td, f, ddir)) -- 2.25.1