Revert "io_uring: add zc notification flush requests"
This reverts commit 492dddb4f6
.
Soon we won't have the very notion of notification flushing, so remove
notification flushing requests.
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/8850334ca56e65b413cb34fd158db81d7b2865a3.1662027856.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Родитель
75847100c3
Коммит
23c12d5fc0
|
@ -301,7 +301,6 @@ enum io_uring_op {
|
|||
*/
|
||||
enum {
|
||||
IORING_RSRC_UPDATE_FILES,
|
||||
IORING_RSRC_UPDATE_NOTIF,
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "io_uring.h"
|
||||
#include "openclose.h"
|
||||
#include "rsrc.h"
|
||||
#include "notif.h"
|
||||
|
||||
struct io_rsrc_update {
|
||||
struct file *file;
|
||||
|
@ -741,41 +740,6 @@ static int io_files_update(struct io_kiocb *req, unsigned int issue_flags)
|
|||
return IOU_OK;
|
||||
}
|
||||
|
||||
static int io_notif_update(struct io_kiocb *req, unsigned int issue_flags)
|
||||
{
|
||||
struct io_rsrc_update *up = io_kiocb_to_cmd(req, struct io_rsrc_update);
|
||||
struct io_ring_ctx *ctx = req->ctx;
|
||||
unsigned len = up->nr_args;
|
||||
unsigned idx_end, idx = up->offset;
|
||||
int ret = 0;
|
||||
|
||||
io_ring_submit_lock(ctx, issue_flags);
|
||||
if (unlikely(check_add_overflow(idx, len, &idx_end))) {
|
||||
ret = -EOVERFLOW;
|
||||
goto out;
|
||||
}
|
||||
if (unlikely(idx_end > ctx->nr_notif_slots)) {
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
for (; idx < idx_end; idx++) {
|
||||
struct io_notif_slot *slot = &ctx->notif_slots[idx];
|
||||
|
||||
if (!slot->notif)
|
||||
continue;
|
||||
if (up->arg)
|
||||
slot->tag = up->arg;
|
||||
io_notif_slot_flush_submit(slot, issue_flags);
|
||||
}
|
||||
out:
|
||||
io_ring_submit_unlock(ctx, issue_flags);
|
||||
if (ret < 0)
|
||||
req_set_fail(req);
|
||||
io_req_set_res(req, ret, 0);
|
||||
return IOU_OK;
|
||||
}
|
||||
|
||||
int io_rsrc_update(struct io_kiocb *req, unsigned int issue_flags)
|
||||
{
|
||||
struct io_rsrc_update *up = io_kiocb_to_cmd(req, struct io_rsrc_update);
|
||||
|
@ -783,8 +747,6 @@ int io_rsrc_update(struct io_kiocb *req, unsigned int issue_flags)
|
|||
switch (up->type) {
|
||||
case IORING_RSRC_UPDATE_FILES:
|
||||
return io_files_update(req, issue_flags);
|
||||
case IORING_RSRC_UPDATE_NOTIF:
|
||||
return io_notif_update(req, issue_flags);
|
||||
}
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче