Loading fs/io_uring.c +7 −0 Original line number Diff line number Diff line Loading @@ -4629,6 +4629,13 @@ static bool io_submit_sqe(struct io_kiocb *req, const struct io_uring_sqe *sqe, if (*link) { struct io_kiocb *head = *link; /* * Taking sequential execution of a link, draining both sides * of the link also fullfils IOSQE_IO_DRAIN semantics for all * requests in the link. So, it drains the head and the * next after the link request. The last one is done via * drain_next flag to persist the effect across calls. */ if (sqe_flags & IOSQE_IO_DRAIN) { head->flags |= REQ_F_IO_DRAIN; ctx->drain_next = 1; Loading Loading
fs/io_uring.c +7 −0 Original line number Diff line number Diff line Loading @@ -4629,6 +4629,13 @@ static bool io_submit_sqe(struct io_kiocb *req, const struct io_uring_sqe *sqe, if (*link) { struct io_kiocb *head = *link; /* * Taking sequential execution of a link, draining both sides * of the link also fullfils IOSQE_IO_DRAIN semantics for all * requests in the link. So, it drains the head and the * next after the link request. The last one is done via * drain_next flag to persist the effect across calls. */ if (sqe_flags & IOSQE_IO_DRAIN) { head->flags |= REQ_F_IO_DRAIN; ctx->drain_next = 1; Loading