diff --git a/fs/aio.c b/fs/aio.c index 969beb0e22311a4f7e7f4155524709d5dd8269bf..67e4b9047cc944eb63beca468f77e1194956f931 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -490,6 +490,8 @@ static void kiocb_batch_free(struct kioctx *ctx, struct kiocb_batch *batch) kmem_cache_free(kiocb_cachep, req); ctx->reqs_active--; } + if (unlikely(!ctx->reqs_active && ctx->dead)) + wake_up_all(&ctx->wait); spin_unlock_irq(&ctx->ctx_lock); }