mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-04 12:16:51 -04:00
io_uring: split alloc_fixed_file_ref_node
Split alloc_fixed_file_ref_node into resource generic/specific parts, to be leveraged for fixed buffers. Signed-off-by: Bijan Mottahedeh <bijan.mottahedeh@oracle.com> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> Reviewed-by: Pavel Begunkov <asml.silence@gmail.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
2a63b2d9c3
commit
6802535df7
@@ -7799,7 +7799,7 @@ static void io_rsrc_data_ref_zero(struct percpu_ref *ref)
|
|||||||
queue_delayed_work(system_wq, &ctx->rsrc_put_work, delay);
|
queue_delayed_work(system_wq, &ctx->rsrc_put_work, delay);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct fixed_rsrc_ref_node *alloc_fixed_file_ref_node(
|
static struct fixed_rsrc_ref_node *alloc_fixed_rsrc_ref_node(
|
||||||
struct io_ring_ctx *ctx)
|
struct io_ring_ctx *ctx)
|
||||||
{
|
{
|
||||||
struct fixed_rsrc_ref_node *ref_node;
|
struct fixed_rsrc_ref_node *ref_node;
|
||||||
@@ -7815,9 +7815,21 @@ static struct fixed_rsrc_ref_node *alloc_fixed_file_ref_node(
|
|||||||
}
|
}
|
||||||
INIT_LIST_HEAD(&ref_node->node);
|
INIT_LIST_HEAD(&ref_node->node);
|
||||||
INIT_LIST_HEAD(&ref_node->rsrc_list);
|
INIT_LIST_HEAD(&ref_node->rsrc_list);
|
||||||
|
ref_node->done = false;
|
||||||
|
return ref_node;
|
||||||
|
}
|
||||||
|
|
||||||
|
static struct fixed_rsrc_ref_node *alloc_fixed_file_ref_node(
|
||||||
|
struct io_ring_ctx *ctx)
|
||||||
|
{
|
||||||
|
struct fixed_rsrc_ref_node *ref_node;
|
||||||
|
|
||||||
|
ref_node = alloc_fixed_rsrc_ref_node(ctx);
|
||||||
|
if (!ref_node)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
ref_node->rsrc_data = ctx->file_data;
|
ref_node->rsrc_data = ctx->file_data;
|
||||||
ref_node->rsrc_put = io_ring_file_put;
|
ref_node->rsrc_put = io_ring_file_put;
|
||||||
ref_node->done = false;
|
|
||||||
return ref_node;
|
return ref_node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user