From: Pavel Begunkov <[email protected]>
To: Jens Axboe <[email protected]>, [email protected]
Subject: [PATCH 6/7] io_uring: refactor io_queue_rsrc_removal()
Date: Tue, 23 Mar 2021 14:13:16 +0000 [thread overview]
Message-ID: <944b9e10c462bb18756bbb43e7e28758807a554b.1616508751.git.asml.silence@gmail.com> (raw)
In-Reply-To: <[email protected]>
Pass rsrc_node into io_queue_rsrc_removal() explicitly. Just a
simple preparation patch, makes following changes nicer.
Signed-off-by: Pavel Begunkov <[email protected]>
---
fs/io_uring.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/fs/io_uring.c b/fs/io_uring.c
index 9f9ed4151e71..175dd2c00991 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -7619,27 +7619,20 @@ static int io_sqe_file_register(struct io_ring_ctx *ctx, struct file *file,
#endif
}
-static int io_queue_rsrc_removal(struct io_rsrc_data *data, void *rsrc)
+static int io_queue_rsrc_removal(struct io_rsrc_data *data,
+ struct io_rsrc_node *node, void *rsrc)
{
struct io_rsrc_put *prsrc;
- struct io_rsrc_node *ref_node = data->node;
prsrc = kzalloc(sizeof(*prsrc), GFP_KERNEL);
if (!prsrc)
return -ENOMEM;
prsrc->rsrc = rsrc;
- list_add(&prsrc->list, &ref_node->rsrc_list);
-
+ list_add(&prsrc->list, &node->rsrc_list);
return 0;
}
-static inline int io_queue_file_removal(struct io_rsrc_data *data,
- struct file *file)
-{
- return io_queue_rsrc_removal(data, (void *)file);
-}
-
static int __io_sqe_files_update(struct io_ring_ctx *ctx,
struct io_uring_rsrc_update *up,
unsigned nr_args)
@@ -7674,7 +7667,7 @@ static int __io_sqe_files_update(struct io_ring_ctx *ctx,
if (*file_slot) {
file = (struct file *) ((unsigned long) *file_slot & FFS_MASK);
- err = io_queue_file_removal(data, file);
+ err = io_queue_rsrc_removal(data, data->node, file);
if (err)
break;
*file_slot = NULL;
--
2.24.0
next prev parent reply other threads:[~2021-03-23 14:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-23 14:13 [PATCH 5.13 0/7] ctx wide rsrc nodes Pavel Begunkov
2021-03-23 14:13 ` [PATCH 1/7] io_uring: name rsrc bits consistently Pavel Begunkov
2021-03-23 14:13 ` [PATCH 2/7] io_uring: simplify io_rsrc_node_ref_zero Pavel Begunkov
2021-03-23 14:13 ` [PATCH 3/7] io_uring: use rsrc prealloc infra for files reg Pavel Begunkov
2021-03-23 14:13 ` [PATCH 4/7] io_uring: encapsulate rsrc node manipulations Pavel Begunkov
2021-03-23 14:13 ` [PATCH 5/7] io_uring: move rsrc_put callback into io_rsrc_data Pavel Begunkov
2021-03-23 14:13 ` Pavel Begunkov [this message]
2021-03-23 14:13 ` [PATCH 7/7] io_uring: ctx-wide rsrc nodes Pavel Begunkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=944b9e10c462bb18756bbb43e7e28758807a554b.1616508751.git.asml.silence@gmail.com \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox