[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <33e0220c-242d-1856-9d4e-31528011a06e@kernel.dk>
Date: Wed, 8 Jul 2020 16:38:51 -0600
From: Jens Axboe <axboe@...nel.dk>
To: "Matthew Wilcox (Oracle)" <willy@...radead.org>
Cc: linux-block@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-aio@...ck.org, io-uring@...r.kernel.org,
linux-kernel@...r.kernel.org, Kanchan Joshi <joshi.k@...sung.com>,
Javier Gonzalez <javier.gonz@...sung.com>
Subject: Re: [PATCH 2/2] fs: Remove kiocb->ki_complete
On 7/8/20 4:26 PM, Matthew Wilcox (Oracle) wrote:
> @@ -341,12 +343,25 @@ struct kiocb {
> randomized_struct_fields_end
> };
>
> +static inline int kiocb_completion_id(struct kiocb *kiocb)
> +{
> + return kiocb->ki_flags >> _IOCB_COMPLETION_SHIFT;
> +}
> +
> +static inline void kiocb_set_completion(struct kiocb *kiocb, int id)
> +{
> + kiocb->ki_flags = (kiocb->ki_flags & (~IOCB_COMPLETION_FNS)) |
> + (id << _IOCB_COMPLETION_SHIFT);
> +}
> +
> static inline bool is_sync_kiocb(struct kiocb *kiocb)
> {
> - return kiocb->ki_complete == NULL;
> + return kiocb_completion_id(kiocb) == 0;
> }
>
> void complete_kiocb(struct kiocb *kiocb, long ret, long ret2);
> +int register_kiocb_completion(void (*)(struct kiocb *, long, long));
> +void unregister_kiocb_completion(int id);
Same here, you seem to mix and match whether you prefix with kiocb or
not. Why not make them all kiocb_*?
kiocb_register_completion() and so forth.
--
Jens Axboe
Powered by blists - more mailing lists