From 52c580272d87d2b9b8a65d317bf7c2d432a30fec Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 6 Feb 2012 21:58:56 +0100 Subject: [PATCH] Fail if we can't satisfy the minimum block size Commit 799441286648bdced4f42d3040f37fd2e35eaf1d introduced a bug where if we cannot satisfy the minimum block size from a given offset, then we will loop forever trying to do that. Fix that bug checking early if it is indeed a possible thing to satisfy, if not give up. Signed-off-by: Jens Axboe --- io_u.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/io_u.c b/io_u.c index 54f8685b..8a033485 100644 --- a/io_u.c +++ b/io_u.c @@ -377,6 +377,12 @@ static unsigned int __get_next_buflen(struct thread_data *td, struct io_u *io_u) if (minbs == maxbs) return minbs; + /* + * If we can't satisfy the min block size from here, then fail + */ + if (!io_u_fits(td, io_u, minbs)) + return 0; + if (td->o.use_os_rand) rand_max = OS_RAND_MAX; else -- 2.25.1