From 6a96276c901992b21c3ad93f95ab0a081c7d6bb1 Mon Sep 17 00:00:00 2001 From: Radha Ramachandran Date: Thu, 5 Nov 2009 08:33:49 +0100 Subject: [PATCH 1/1] Don't pass more than the queued IO depth in to getevents() Otherwise we can hang fio, since it'll attempt to wait for more IOs than we have in flight. Signed-off-by: Jens Axboe --- fio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fio.c b/fio.c index debcac5e..434b5037 100644 --- a/fio.c +++ b/fio.c @@ -536,7 +536,8 @@ sync_done: */ full = queue_full(td) || ret == FIO_Q_BUSY; if (full || !td->o.iodepth_batch_complete) { - min_events = td->o.iodepth_batch_complete; + min_events = min(td->o.iodepth_batch_complete, + td->cur_depth); if (full && !min_events) min_events = 1; @@ -688,7 +689,8 @@ sync_done: */ full = queue_full(td) || ret == FIO_Q_BUSY; if (full || !td->o.iodepth_batch_complete) { - min_evts = td->o.iodepth_batch_complete; + min_evts = min(td->o.iodepth_batch_complete, + td->cur_depth); if (full && !min_evts) min_evts = 1; -- 2.25.1