io_uring: do poll's hash_node init in common code
Move INIT_HLIST_NODE(&req->hash_node) into __io_arm_poll_handler(), so that it doesn't duplicated and common poll code would be responsible for it. Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
dd221f46f6
commit
4d52f33899
|
@ -5097,6 +5097,7 @@ static __poll_t __io_arm_poll_handler(struct io_kiocb *req,
|
|||
struct io_ring_ctx *ctx = req->ctx;
|
||||
bool cancel = false;
|
||||
|
||||
INIT_HLIST_NODE(&req->hash_node);
|
||||
io_init_poll_iocb(poll, mask, wake_func);
|
||||
poll->file = req->file;
|
||||
poll->wait.private = req;
|
||||
|
@ -5158,7 +5159,6 @@ static bool io_arm_poll_handler(struct io_kiocb *req)
|
|||
|
||||
req->flags |= REQ_F_POLLED;
|
||||
req->apoll = apoll;
|
||||
INIT_HLIST_NODE(&req->hash_node);
|
||||
|
||||
mask = 0;
|
||||
if (def->pollin)
|
||||
|
@ -5357,7 +5357,6 @@ static int io_poll_add(struct io_kiocb *req)
|
|||
struct io_poll_table ipt;
|
||||
__poll_t mask;
|
||||
|
||||
INIT_HLIST_NODE(&req->hash_node);
|
||||
ipt.pt._qproc = io_poll_queue_proc;
|
||||
|
||||
mask = __io_arm_poll_handler(req, &req->poll, &ipt, poll->events,
|
||||
|
|
Loading…
Reference in New Issue