]> git.baikalelectronics.ru Git - kernel.git/commitdiff
io_uring: don't unconditionally set plug->nowait = true
authorJens Axboe <axboe@kernel.dk>
Fri, 25 Sep 2020 15:01:53 +0000 (09:01 -0600)
committerJens Axboe <axboe@kernel.dk>
Fri, 25 Sep 2020 15:01:53 +0000 (09:01 -0600)
This causes all the bios to be submitted with REQ_NOWAIT, which can be
problematic on either btrfs or on file systems that otherwise use a mix
of block devices where only some of them support it.

For now, just remove the setting of plug->nowait = true.

Reported-by: Dan Melnic <dmm@fb.com>
Reported-by: Brian Foster <bfoster@redhat.com>
Fixes: be6d4627241c ("io_uring: re-issue block requests that failed because of resources")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c

index 0ab16df312881f26679aa96bcac68068eafc8575..ad828fa19af4c718d243dd1bd300e10b3c7f4ad6 100644 (file)
@@ -6353,9 +6353,6 @@ static void io_submit_state_start(struct io_submit_state *state,
                                  struct io_ring_ctx *ctx, unsigned int max_ios)
 {
        blk_start_plug(&state->plug);
-#ifdef CONFIG_BLOCK
-       state->plug.nowait = true;
-#endif
        state->comp.nr = 0;
        INIT_LIST_HEAD(&state->comp.list);
        state->comp.ctx = ctx;