[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v10 12/14] block: add transactional properties
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [PATCH v10 12/14] block: add transactional properties |
Date: |
Tue, 3 Nov 2015 12:27:19 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 11/03/2015 10:17 AM, Stefan Hajnoczi wrote:
> On Fri, Oct 23, 2015 at 07:56:50PM -0400, John Snow wrote:
>> @@ -1732,6 +1757,10 @@ static void
>> block_dirty_bitmap_add_prepare(BlkActionState *common,
>> BlockDirtyBitmapState *state = DO_UPCAST(BlockDirtyBitmapState,
>> common, common);
>>
>> + if (action_check_cancel_mode(common, errp) < 0) {
>> + return;
>> + }
>> +
>> action = common->action->block_dirty_bitmap_add;
>> /* AIO context taken and released within qmp_block_dirty_bitmap_add */
>> qmp_block_dirty_bitmap_add(action->node, action->name,
>> @@ -1767,6 +1796,10 @@ static void
>> block_dirty_bitmap_clear_prepare(BlkActionState *common,
>> common, common);
>> BlockDirtyBitmap *action;
>>
>> + if (action_check_cancel_mode(common, errp) < 0) {
>> + return;
>> + }
>> +
>> action = common->action->block_dirty_bitmap_clear;
>> state->bitmap = block_dirty_bitmap_lookup(action->node,
>> action->name,
>
> Why do the bitmap add/clear actions not support err-cancel=all?
>
> I understand why other block jobs don't support it, but it's not clear
> why these non-block job actions cannot.
>
Because they don't have a callback to invoke if the rest of the job fails.
I could create a BlockJob for them complete with a callback to invoke,
but basically it's just because there's no interface to unwind them, or
an interface to join them with the transaction.
They're small, synchronous non-job actions. Which makes them weird.
- Re: [Qemu-devel] [PATCH v10 12/14] block: add transactional properties, Stefan Hajnoczi, 2015/11/03
- Re: [Qemu-devel] [PATCH v10 12/14] block: add transactional properties,
John Snow <=
- Re: [Qemu-devel] [PATCH v10 12/14] block: add transactional properties, Stefan Hajnoczi, 2015/11/05
- Re: [Qemu-devel] [Qemu-block] [PATCH v10 12/14] block: add transactional properties, Kevin Wolf, 2015/11/06
- Re: [Qemu-devel] [Qemu-block] [PATCH v10 12/14] block: add transactional properties, Stefan Hajnoczi, 2015/11/06
- Re: [Qemu-devel] [Qemu-block] [PATCH v10 12/14] block: add transactional properties, John Snow, 2015/11/06
- Re: [Qemu-devel] [Qemu-block] [PATCH v10 12/14] block: add transactional properties, John Snow, 2015/11/06