io_uring: remove IORING_CQE_F_MSG
authorJens Axboe <axboe@kernel.dk>
Thu, 24 Mar 2022 12:53:18 +0000 (06:53 -0600)
committerJens Axboe <axboe@kernel.dk>
Thu, 24 Mar 2022 12:53:18 +0000 (06:53 -0600)
This was introduced with the message ring opcode, but isn't strictly
required for the request itself. The sender can encode what is needed
in user_data, which is passed to the receiver. It's unclear if having
a separate flag that essentially says "This CQE did not originate from
an SQE on this ring" provides any real utility to applications. While
we can always re-introduce a flag to provide this information, we cannot
take it away at a later point in time.

Remove the flag while we still can, before it's in a released kernel.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c
include/uapi/linux/io_uring.h

index 88556e6..28b7a1b 100644 (file)
@@ -4474,8 +4474,7 @@ static int io_msg_ring(struct io_kiocb *req, unsigned int issue_flags)
        target_ctx = req->file->private_data;
 
        spin_lock(&target_ctx->completion_lock);
-       filled = io_fill_cqe_aux(target_ctx, msg->user_data, msg->len,
-                                       IORING_CQE_F_MSG);
+       filled = io_fill_cqe_aux(target_ctx, msg->user_data, msg->len, 0);
        io_commit_cqring(target_ctx);
        spin_unlock(&target_ctx->completion_lock);
 
index d2be4eb..784adc6 100644 (file)
@@ -201,11 +201,9 @@ struct io_uring_cqe {
  *
  * IORING_CQE_F_BUFFER If set, the upper 16 bits are the buffer ID
  * IORING_CQE_F_MORE   If set, parent SQE will generate more CQE entries
- * IORING_CQE_F_MSG    If set, CQE was generated with IORING_OP_MSG_RING
  */
 #define IORING_CQE_F_BUFFER            (1U << 0)
 #define IORING_CQE_F_MORE              (1U << 1)
-#define IORING_CQE_F_MSG               (1U << 2)
 
 enum {
        IORING_CQE_BUFFER_SHIFT         = 16,