node = kzalloc(sizeof(*node), GFP_KERNEL);
if (node) {
- node->ctx_ptr = (unsigned long) ctx | type;
+ node->type = type;
node->refs = 1;
}
return 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));
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;
}
}
-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)
{