summaryrefslogtreecommitdiff
path: root/io_uring
diff options
context:
space:
mode:
authorMing Lei <ming.lei@redhat.com>2024-11-07 19:01:35 +0800
committerJens Axboe <axboe@kernel.dk>2024-11-07 15:24:33 -0700
commit4f219fcce5e4366cc121fc98270beb1fbbb3df2b (patch)
treea0cd9c3ba258c0ea4492e9ab50da32ff79622e88 /io_uring
parent0d98c509086837a8cf5a32f82f2a58f39a539192 (diff)
downloadlwn-4f219fcce5e4366cc121fc98270beb1fbbb3df2b.tar.gz
lwn-4f219fcce5e4366cc121fc98270beb1fbbb3df2b.zip
io_uring/rsrc: remove '->ctx_ptr' of 'struct io_rsrc_node'
Remove '->ctx_ptr' of 'struct io_rsrc_node', and add 'type' field, meantime remove io_rsrc_node_type(). Signed-off-by: Ming Lei <ming.lei@redhat.com> Link: https://lore.kernel.org/r/20241107110149.890530-3-ming.lei@redhat.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring')
-rw-r--r--io_uring/rsrc.c4
-rw-r--r--io_uring/rsrc.h9
2 files changed, 3 insertions, 10 deletions
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
index d7db36a2c66e..adaae8630932 100644
--- a/io_uring/rsrc.c
+++ b/io_uring/rsrc.c
@@ -124,7 +124,7 @@ struct io_rsrc_node *io_rsrc_node_alloc(struct io_ring_ctx *ctx, int type)
node = kzalloc(sizeof(*node), GFP_KERNEL);
if (node) {
- node->ctx_ptr = (unsigned long) ctx | type;
+ node->type = type;
node->refs = 1;
}
return node;
@@ -449,7 +449,7 @@ void io_free_rsrc_node(struct io_ring_ctx *ctx, struct io_rsrc_node *node)
if (node->tag)
io_post_aux_cqe(ctx, node->tag, 0, 0);
- switch (io_rsrc_node_type(node)) {
+ switch (node->type) {
case IORING_RSRC_FILE:
if (io_slot_file(node))
fput(io_slot_file(node));
diff --git a/io_uring/rsrc.h b/io_uring/rsrc.h
index c9057f7a06f5..c8a64a9ed5b9 100644
--- a/io_uring/rsrc.h
+++ b/io_uring/rsrc.h
@@ -11,12 +11,10 @@
enum {
IORING_RSRC_FILE = 0,
IORING_RSRC_BUFFER = 1,
-
- IORING_RSRC_TYPE_MASK = 0x3UL,
};
struct io_rsrc_node {
- unsigned long ctx_ptr;
+ unsigned char type;
int refs;
u64 tag;
@@ -106,11 +104,6 @@ static inline void io_req_put_rsrc_nodes(struct io_kiocb *req)
}
}
-static inline int io_rsrc_node_type(struct io_rsrc_node *node)
-{
- return node->ctx_ptr & IORING_RSRC_TYPE_MASK;
-}
-
static inline void io_req_assign_rsrc_node(struct io_rsrc_node **dst_node,
struct io_rsrc_node *node)
{