zloop advertises REQ_NOWAIT support via BLK_FEAT_NOWAIT (set by default for all blk-mq devices), but delegates I/O processing to workqueues where blocking operations are allowed. Since REQ_NOWAIT is not valid in the workqueue context, clear the REQ_NOWAIT flag before handing the request over to the workqueue. This avoids unnecessary non-blocking constraints in a context where blocking is acceptable. Signed-off-by: Chaitanya Kulkarni --- drivers/block/zloop.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/block/zloop.c b/drivers/block/zloop.c index 92be9f0af00a..22a245259622 100644 --- a/drivers/block/zloop.c +++ b/drivers/block/zloop.c @@ -620,6 +620,8 @@ static blk_status_t zloop_queue_rq(struct blk_mq_hw_ctx *hctx, blk_mq_start_request(rq); + rq->cmd_flags &= ~REQ_NOWAIT; + INIT_WORK(&cmd->work, zloop_cmd_workfn); queue_work(zlo->workqueue, &cmd->work); -- 2.40.0