The Monday 01 Sep 2014 à 15:43:11 (+0800), Liu Yuan wrote :
> For a fifo read pattern, we only have one running aio

>(possible other cases that has less number than num_children in the future)
I have trouble understanding this part of the commit message could you try
to clarify it ?

> , so we need to check if
> .acb is NULL against bdrv_aio_cancel() to avoid segfault.
> 
> Cc: Eric Blake <ebl...@redhat.com>
> Cc: Benoit Canet <ben...@irqsave.net>
> Cc: Kevin Wolf <kw...@redhat.com>
> Cc: Stefan Hajnoczi <stefa...@redhat.com>
> Signed-off-by: Liu Yuan <namei.u...@gmail.com>
> ---
>  block/quorum.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/block/quorum.c b/block/quorum.c
> index 9e056d6..b9eeda3 100644
> --- a/block/quorum.c
> +++ b/block/quorum.c
> @@ -144,7 +144,9 @@ static void quorum_aio_cancel(BlockDriverAIOCB *blockacb)
>  
>      /* cancel all callbacks */
>      for (i = 0; i < s->num_children; i++) {
> -        bdrv_aio_cancel(acb->qcrs[i].aiocb);
> +        if (acb->qcrs[i].aiocb) {
> +            bdrv_aio_cancel(acb->qcrs[i].aiocb);
> +        }
>      }
>  
>      quorum_aio_release(acb);
> -- 
> 1.9.1
> 

Reply via email to