io_uring/bundle: disable IOSQE_IO_DRAIN on bundle requests io_uring-bundle
authorJens Axboe <axboe@kernel.dk>
Tue, 22 Nov 2022 22:25:24 +0000 (15:25 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 11 Jan 2023 20:45:32 +0000 (13:45 -0700)
We could support this and prep bundle members early, but let's just
disallow drain with bundles. It is expected that most users of bundles
would use IOSQE_CQE_SKIP_SUCCESS as part of the bundle, and that doesn't
work with IOSQE_IO_DRAIN anyway as it's explicitly disallowed.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/bundle.c

index 056d5ce357d2f5aeb842933163acb03375232b5f..c5d49dbee1a513a553acc569e2f71c89e983151d 100644 (file)
@@ -99,7 +99,7 @@ static bool io_bundle_init(struct io_kiocb *req, const struct io_uring_sqe *sqe)
            sqe->personality || sqe->splice_fd_in || sqe->file_index ||
            sqe->addr3)
                return true;
-       if (req->flags & REQ_F_FORCE_ASYNC)
+       if (req->flags & (REQ_F_FORCE_ASYNC | REQ_F_IO_DRAIN))
                return true;
        if (WARN_ON_ONCE(ctx->submit_state.parent))
                return true;