[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V9 03/11] quorum: Add quorum_aio_writev and its
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH V9 03/11] quorum: Add quorum_aio_writev and its dependencies. |
Date: |
Tue, 29 Oct 2013 18:21:57 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0 |
Am 28.10.2013 13:21, schrieb Benoît Canet:
> Le Friday 04 Oct 2013 à 16:35:18 (+0200), Max Reitz a écrit :
>> On 2013-10-02 14:39, Benoît Canet wrote:
>>> Signed-off-by: Benoit Canet <address@hidden>
>>> ---
>>> block/quorum.c | 123
>>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 123 insertions(+)
>>>
>>> diff --git a/block/quorum.c b/block/quorum.c
>>> index 9557e61..b49e3c6 100644
>>> --- a/block/quorum.c
>>> +++ b/block/quorum.c
>>> @@ -64,11 +64,134 @@ struct QuorumAIOCB {
>>> int vote_ret;
>>> };
>>> +static void quorum_aio_cancel(BlockDriverAIOCB *blockacb)
>>> +{
>>> + QuorumAIOCB *acb = container_of(blockacb, QuorumAIOCB, common);
>>> + bool finished = false;
>>> +
>>> + /* Wait for the request to finish */
>>> + acb->finished = &finished;
>>> + while (!finished) {
>>> + qemu_aio_wait();
>>> + }
>> Hm, wouldn't it be better to pass the cancel to the children?
>>
>> Max
> Hi Max,
>
> Hi don't understand how you would do this.
>
> Best regards
>
> Benoît
I thought of calling bdrv_aio_cancel() on every aios[i].aiocb – I don't
know if that will work but it seems reasonable to me to try to cancel
all the operations quorum has initiated when the quorum operation itself
is requested to be canceled (instead of waiting for the spawned
operations to finish normally).
Max
[Qemu-devel] [PATCH V9 04/11] blkverify: Extract qemu_iovec_clone() and qemu_iovec_compare() from blkverify., Benoît Canet, 2013/10/02
[Qemu-devel] [PATCH V9 05/11] quorum: Add quorum_aio_readv., Benoît Canet, 2013/10/02
[Qemu-devel] [PATCH V9 07/11] quorum: Add quorum_getlength()., Benoît Canet, 2013/10/02
[Qemu-devel] [PATCH V9 08/11] quorum: Add quorum_invalidate_cache()., Benoît Canet, 2013/10/02
[Qemu-devel] [PATCH V9 09/11] quorum: Add quorum_co_get_block_status., Benoît Canet, 2013/10/02
[Qemu-devel] [PATCH V9 10/11] quorum: Add quorum_co_flush()., Benoît Canet, 2013/10/02