summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBart Van Assche <bvanassche@acm.org>2020-08-01 11:01:06 -0700
committerBart Van Assche <bvanassche@acm.org>2020-08-01 11:25:45 -0700
commitd89ee9f4c7ac7e0af994e4a4ec02ef07b1698bb9 (patch)
treee858837899ac8dab8ddc26dca43f1ac6f704f2e6
parentb5aba537d844f73187eb931179ac59e7da570e7c (diff)
downloadfio-d89ee9f4c7ac7e0af994e4a4ec02ef07b1698bb9.tar.gz
fio-d89ee9f4c7ac7e0af994e4a4ec02ef07b1698bb9.tar.bz2
Prevent that fio hangs when using io_submit_mode=offload
This patch has been tested by running the following shell command: for ((i=0;i<1000;i++)); do echo $i; python3 t/run-fio-tests.py -o 10; done Fixes: d28174f0189c ("workqueue: ensure we see deferred error for IOs") Signed-off-by: Bart Van Assche <bvanassche@acm.org>
-rw-r--r--rate-submit.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/rate-submit.c b/rate-submit.c
index b7b70372..13dbe7a2 100644
--- a/rate-submit.c
+++ b/rate-submit.c
@@ -97,8 +97,11 @@ static int io_workqueue_fn(struct submit_worker *sw,
td->cur_depth -= ret;
}
- if (error || td->error)
+ if (error || td->error) {
+ pthread_mutex_lock(&td->io_u_lock);
pthread_cond_signal(&td->parent->free_cond);
+ pthread_mutex_unlock(&td->io_u_lock);
+ }
return 0;
}