Re: [PATCH 2/3] io_uring: add interface for getting files

From: Jens Axboe
Date: Tue Jan 21 2020 - 20:54:18 EST


On 1/21/20 5:05 PM, Pavel Begunkov wrote:
> Preparation without functional changes. Adds io_get_file(), that allows
> to grab files not only into req->file.
>
> Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
> ---
> fs/io_uring.c | 66 ++++++++++++++++++++++++++++++++-------------------
> 1 file changed, 41 insertions(+), 25 deletions(-)
>
> diff --git a/fs/io_uring.c b/fs/io_uring.c
> index 8f7846cb1ebf..e9e4aee0fb99 100644
> --- a/fs/io_uring.c
> +++ b/fs/io_uring.c
> @@ -1161,6 +1161,15 @@ static struct io_kiocb *io_get_req(struct io_ring_ctx *ctx,
> return NULL;
> }
>
> +static inline void io_put_file(struct io_ring_ctx *ctx, struct file *file,
> + bool fixed)
> +{
> + if (fixed)
> + percpu_ref_put(&ctx->file_data->refs);
> + else
> + fput(file);
> +}

Just make this take struct io_kiocb?

Apart from that, looks fine to me.

--
Jens Axboe