DEFINE_WAIT(wait);
while (!list_empty_careful(&ctx->inflight_list)) {
- enum io_wq_cancel ret = IO_WQ_CANCEL_NOTFOUND;
struct io_kiocb *cancel_req = NULL;
spin_lock_irq(&ctx->inflight_lock);
TASK_UNINTERRUPTIBLE);
spin_unlock_irq(&ctx->inflight_lock);
- if (cancel_req) {
- ret = io_wq_cancel_work(ctx->io_wq, &cancel_req->work);
- io_put_req(cancel_req);
- }
-
/* We need to keep going until we don't find a matching req */
if (!cancel_req)
break;
+
+ io_wq_cancel_work(ctx->io_wq, &cancel_req->work);
+ io_put_req(cancel_req);
schedule();
}
finish_wait(&ctx->inflight_wait, &wait);