Re: [PATCH 06/36] aio: delete iocbs from the active_reqs list in kiocb_cancel
From: Darrick J. Wong
Date: Mon Mar 19 2018 - 20:35:41 EST
On Mon, Mar 05, 2018 at 01:27:13PM -0800, Christoph Hellwig wrote:
> One we cancel an iocb there is no reason to keep it on the active_reqs
> list, given that the list is only used to look for cancelation candidates.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> Acked-by: Jeff Moyer <jmoyer@xxxxxxxxxx>
Reviewed-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx>
--D
> ---
> fs/aio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/aio.c b/fs/aio.c
> index 2d40cf5dd4ec..0b6394b4e528 100644
> --- a/fs/aio.c
> +++ b/fs/aio.c
> @@ -561,6 +561,8 @@ static int kiocb_cancel(struct aio_kiocb *kiocb)
> {
> kiocb_cancel_fn *cancel = kiocb->ki_cancel;
>
> + list_del_init(&kiocb->ki_list);
> +
> if (!cancel)
> return -EINVAL;
> kiocb->ki_cancel = NULL;
> @@ -607,8 +609,6 @@ static void free_ioctx_users(struct percpu_ref *ref)
> while (!list_empty(&ctx->active_reqs)) {
> req = list_first_entry(&ctx->active_reqs,
> struct aio_kiocb, ki_list);
> -
> - list_del_init(&req->ki_list);
> kiocb_cancel(req);
> }
>
> --
> 2.14.2
>