[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/6] qmp dirty bitmap API
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v2 0/6] qmp dirty bitmap API |
Date: |
Mon, 22 Jan 2018 12:23:47 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 |
On 01/22/2018 07:22 AM, Vladimir Sementsov-Ogievskiy wrote:
> 22.01.2018 12:20, Vladimir Sementsov-Ogievskiy wrote:
>> 20.01.2018 02:30, John Snow wrote:
>>>
>>> On 01/16/2018 07:54 AM, Vladimir Sementsov-Ogievskiy wrote:
>>>> Hi all.
>>>>
>>>> There are three qmp commands, needed to implement external backup API.
>>>>
>>>> Using these three commands, client may do all needed bitmap
>>>> management by
>>>> hand:
>>>>
>>>> on backup start we need to do a transaction:
>>>> {disable old bitmap, create new bitmap}
>>>>
>>>> on backup success:
>>>> drop old bitmap
>>>>
>>>> on backup fail:
>>>> enable old bitmap
>>>> merge new bitmap to old bitmap
>>>> drop new bitmap
>>>>
>>>> v2: fix merge command deadlock
>>>> add new patches: 1 and 6
>>>>
>>>> Vladimir Sementsov-Ogievskiy (6):
>>>> block: maintain persistent disabled bitmaps
>>>> block/dirty-bitmap: add lock to bdrv_enable/disable_dirty_bitmap
>>>> qapi: add block-dirty-bitmap-enable/disable
>>>> qmp: transaction support for block-dirty-bitmap-enable/disable
>>>> qapi: add block-dirty-bitmap-merge
>>>> qapi: add disabled parameter to block-dirty-bitmap-add
>>>>
>>>> qapi/block-core.json | 92 ++++++++++++++++++++++-
>>>> qapi/transaction.json | 4 +
>>>> block/qcow2.h | 2 +-
>>>> include/block/dirty-bitmap.h | 3 +-
>>>> block/dirty-bitmap.c | 42 ++++++-----
>>>> block/qcow2-bitmap.c | 12 +--
>>>> block/qcow2.c | 2 +-
>>>> blockdev.c | 169
>>>> +++++++++++++++++++++++++++++++++++++++++--
>>>> 8 files changed, 287 insertions(+), 39 deletions(-)
>>>>
>>> Fails to apply to master (b384cd95) on patch four and five. Only
>>> contextual problems, I've patched it up and I'll review that.
>>>
>>> (mirrored here if you want to check my rebase work:
>>> https://github.com/jnsnow/qemu/tree/vlad-review)
>>>
>>> Since I was full of such bad and stupid ideas last time, I'd like
>>> someone else to look over this one for design and I'll just review it
>>> for accuracy.
>>>
>>> --js
>>
>> Thank you for review, John!
>>
>> Ok, so, I'll going to:
>>
>> - take patch 1 into migration and respin it today (I hope) with test
>> about qcow2-based bitmap migration disabled.
>> - separate fixes and refactoring from here (locking + _bitmap_clear
>> transaction), send them separately
>> - than, make test for external backup and respin these series with it
>>
>
> changed to:
>
> 1. send patch 1/6 separately with the whole reasoning[done], as it
> blocks two series, wait for accepting
> 2. respin postcopy series
> 3. finish up discussion on bitmap locking under "[PATCH v9 03/13]
> block/dirty-bitmap: add _locked version of bdrv_reclaim_dirty_bitmap"
> 4. separate fixes and refactoring from here (locking + _bitmap_clear
> transaction), send them separately
> 5. make test for external backup and respin these series with it
>
> 2 depends on 1
> 4 depends on 3
> 5 depends on 1 and 4
>
Great, thanks!
- Re: [Qemu-block] [Qemu-devel] [PATCH v2 1/6] block: maintain persistent disabled bitmaps, (continued)