Commit 23c12d5f authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

Revert "io_uring: add zc notification flush requests"



This reverts commit 492dddb4.

Soon we won't have the very notion of notification flushing, so remove
notification flushing requests.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/8850334ca56e65b413cb34fd158db81d7b2865a3.1662027856.git.asml.silence@gmail.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 75847100
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -301,7 +301,6 @@ enum io_uring_op {
 */
enum {
	IORING_RSRC_UPDATE_FILES,
	IORING_RSRC_UPDATE_NOTIF,
};

/*
+0 −38
Original line number Diff line number Diff line
@@ -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;
}