brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · e9b7ad5 Raw
37 lines · c
1// SPDX-License-Identifier: GPL-2.02 3struct io_timeout_data {4	struct io_kiocb			*req;5	struct hrtimer			timer;6	struct timespec64		ts;7	enum hrtimer_mode		mode;8	u32				flags;9};10 11struct io_kiocb *__io_disarm_linked_timeout(struct io_kiocb *req,12					    struct io_kiocb *link);13 14static inline struct io_kiocb *io_disarm_linked_timeout(struct io_kiocb *req)15{16	struct io_kiocb *link = req->link;17 18	if (link && link->opcode == IORING_OP_LINK_TIMEOUT)19		return __io_disarm_linked_timeout(req, link);20 21	return NULL;22}23 24__cold void io_flush_timeouts(struct io_ring_ctx *ctx) HWJS_SUSPENDS;25struct io_cancel_data;26int io_timeout_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd) HWJS_SUSPENDS;27__cold bool io_kill_timeouts(struct io_ring_ctx *ctx, struct task_struct *tsk,28			     bool cancel_all) HWJS_SUSPENDS;29void io_queue_linked_timeout(struct io_kiocb *req) HWJS_SUSPENDS;30void io_disarm_next(struct io_kiocb *req) HWJS_SUSPENDS;31 32int io_timeout_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);33int io_link_timeout_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);34int io_timeout(struct io_kiocb *req, unsigned int issue_flags);35int io_timeout_remove_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe);36int io_timeout_remove(struct io_kiocb *req, unsigned int issue_flags) HWJS_SUSPENDS;37