summaryrefslogtreecommitdiff
path: root/fs/io_uring.c
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2021-02-23 08:58:04 -0700
committerJens Axboe <axboe@kernel.dk>2021-04-11 17:41:59 -0600
commitb2c3f7e1715605c045f46fb369d850ada4749388 (patch)
tree67d3bad7ebd4312229b62c8529f8f8ec0146a96c /fs/io_uring.c
parent88e41cf928a6e1a0eb5a9492e2d091ec6193cce4 (diff)
downloadlwn-b2c3f7e1715605c045f46fb369d850ada4749388.tar.gz
lwn-b2c3f7e1715605c045f46fb369d850ada4749388.zip
io_uring: abstract out helper for removing poll waitqs/hashes
No functional changes in this patch, just preparation for kill multishot poll on CQ overflow. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'fs/io_uring.c')
-rw-r--r--fs/io_uring.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 80db5898e119..12f686283ade 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -5216,7 +5216,7 @@ static bool __io_poll_remove_one(struct io_kiocb *req,
return do_complete;
}
-static bool io_poll_remove_one(struct io_kiocb *req)
+static bool io_poll_remove_waitqs(struct io_kiocb *req)
{
bool do_complete;
@@ -5236,6 +5236,14 @@ static bool io_poll_remove_one(struct io_kiocb *req)
}
}
+ return do_complete;
+}
+
+static bool io_poll_remove_one(struct io_kiocb *req)
+{
+ bool do_complete;
+
+ do_complete = io_poll_remove_waitqs(req);
if (do_complete) {
io_cqring_fill_event(req, -ECANCELED);
io_commit_cqring(req->ctx);