summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/io-wq.c3
-rw-r--r--fs/io-wq.h1
-rw-r--r--fs/io_uring.c3
3 files changed, 1 insertions, 6 deletions
diff --git a/fs/io-wq.c b/fs/io-wq.c
index 39ed8751ea31..a1a42ead3b5a 100644
--- a/fs/io-wq.c
+++ b/fs/io-wq.c
@@ -479,9 +479,6 @@ next:
worker->cur_work = work;
spin_unlock_irq(&worker->lock);
- if (work->flags & IO_WQ_WORK_CB)
- work->func(&work);
-
if (work->files && current->files != work->files) {
task_lock(current);
current->files = work->files;
diff --git a/fs/io-wq.h b/fs/io-wq.h
index d500d88ab84e..a0978d6958f0 100644
--- a/fs/io-wq.h
+++ b/fs/io-wq.h
@@ -7,7 +7,6 @@ enum {
IO_WQ_WORK_CANCEL = 1,
IO_WQ_WORK_HASHED = 4,
IO_WQ_WORK_UNBOUND = 32,
- IO_WQ_WORK_CB = 128,
IO_WQ_WORK_NO_CANCEL = 256,
IO_WQ_WORK_CONCURRENT = 512,
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 2a8d88c9bcab..f999503854b7 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -2549,7 +2549,7 @@ static void io_link_work_cb(struct io_wq_work **workptr)
struct io_kiocb *link = work->data;
io_queue_linked_timeout(link);
- work->func = io_wq_submit_work;
+ io_wq_submit_work(workptr);
}
static void io_wq_assign_next(struct io_wq_work **workptr, struct io_kiocb *nxt)
@@ -2559,7 +2559,6 @@ static void io_wq_assign_next(struct io_wq_work **workptr, struct io_kiocb *nxt)
io_prep_next_work(nxt, &link);
*workptr = &nxt->work;
if (link) {
- nxt->work.flags |= IO_WQ_WORK_CB;
nxt->work.func = io_link_work_cb;
nxt->work.data = link;
}