Andrey,
please take look at comment below.

On 2018-02-15 04:27, Andrei Vagin wrote:
> [This sender failed our fraud detection checks and may not be who they appear 
> to be. Learn about spoofing at http://aka.ms/LearnAboutSpoofing]
> 
> preq->io_count is incrimented before calling aio_kernel_submit()
> and it is decrimented in kaio_rw_aio_complete().
> 
> But if aio_kernel_submit() failed , preq->io_count has to be decrimented
> before exiting from the function.
> ---
>  drivers/block/ploop/io_kaio.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/block/ploop/io_kaio.c b/drivers/block/ploop/io_kaio.c
> index 2e48d13..6d922f5 100644
> --- a/drivers/block/ploop/io_kaio.c
> +++ b/drivers/block/ploop/io_kaio.c
> @@ -686,6 +686,7 @@ kaio_io_page(struct ploop_io * io, int op, struct 
> ploop_request * preq,
>                        err, (op == IOCB_CMD_WRITE_ITER) ? "WRITE" : "READ",
>                        preq->eng_state, preq->state, pos);
>                 PLOOP_REQ_SET_ERROR(preq, err);
> +               ploop_complete_io_request(preq);

Kostja pointed me this patch for vz6.

vz6 seems is affected too,
however I think it's better to use atomic_dec(&preq->io_count) here:
it should balance atomic_inc called before aio_kernel_submit()
and should not double ploop_complete_io_request called below.

How do you think?

>         }
> 
>  out:
> --
> 1.8.3.1
> 
> 
> _______________________________________________
> Devel mailing list
> Devel@openvz.org
> https://lists.openvz.org/mailman/listinfo/devel
> 
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to