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 >