[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [Qemu-block] 2018-07-09 Incremental Backup Status Report
From: |
John Snow |
Subject: |
[Qemu-devel] [Qemu-block] 2018-07-09 Incremental Backup Status Report |
Date: |
Mon, 9 Jul 2018 19:31:11 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 |
On 07/02/2018 07:47 PM, John Snow wrote:
> I'm tracking the following series for Incremental Backup right now; if
> it's not on this list, I don't know about it:
>
> [Qemu-devel] [PATCH v4 0/2] block: formalize and test fleecing
Merged.
> [Qemu-devel] [PATCH v2 0/3] image fleecing
Dropped in favor of the above, but we've then added:
[Qemu-devel] [PATCH v5 0/4] fix image fleecing
Which should have the same effect as preventing race conditions between
serializations that exist across two nodes.
> [Qemu-devel] [PATCH] migration: Appease coverity, skip empty block trees
I need to spin a v2.
> [Qemu-devel] [PATCH v2 0/2] test NBD bitmap export
Merged.
> [Qemu-devel] [PATCH 0/6] fix persistent bitmaps migration logic
Needs review.
> [Qemu-devel] [PATCH 0/2] dirty bitmap fixes
Merged.
> [Qemu-devel] [PATCH v2] qcow2: add overlap check for bitmap directory
Merged.
> [Qemu-devel] [PATCH 0/1] blockdev: implement n-ary bitmap merge
Needs review; it's not essential but I suspect it's likely nice to have
for libvirt.
> [Qemu-devel] [PATCH v2 00/10] qemu-img: add bitmap info output
>
On hold pending "fix persistent bitmaps migration logic."
New series:
- [PATCH v2 0/4] transaction support for bitmap merge
New status list looks like this, then:
[Qemu-devel] [PATCH] migration: Appease coverity, skip empty block trees
[Qemu-devel] [PATCH v5 0/4] fix image fleecing
[Qemu-devel] [PATCH 0/6] fix persistent bitmaps migration logic
[Qemu-devel] [PATCH 0/1] blockdev: implement n-ary bitmap merge
[Qemu-devel] [PATCH v2 00/10] qemu-img: add bitmap info output
[Qemu-devel] [PATCH v2 0/4] transaction support for bitmap merge
I'll be looking at #3, #6 and #1 tomorrow.
Thanks,
--js
>
> Now, in a little more detail below;
>
>
> # Image fleecing:
>
> In order to support pull-model semantics for incremental backup, we need
> working point in time NBD export of live disk images. This was thought
> supported/finished for quite some time, but we've had no iotests.
>
> There are two series in flight here:
>
> - [Qemu-devel] [PATCH v4 0/2] block: formalize and test fleecing
> - [Qemu-devel] [PATCH v2 0/3] image fleecing
>
> The first listed there simply loosens restrictions on blockdev-backup
> and adds an iotest that this approach works in the simple case.
>
> The second series adds a fleecing filter to combat deficiencies in the
> IO serialization that may allow the fleecing node to sometimes see new,
> live data instead of the PIT data. See
> https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg00150.html for
> details.
>
> Our current plan is to merge the first series and to continue looking
> into the fleecing filter during freeze as a potential bugfix.
>
>
> # NBD:
>
> - [Qemu-devel] [PATCH v2 0/2] test NBD bitmap export
>
> Eric's series that adds a quick hack to our NBD client and an iotest 223
> that demos that the bitmap support in our NBD server is working
> correctly. Notably, we don't have an iotest that combines this with the
> image fleecing workflow, so there's discussion there that I've started
> for how to combine the two, comments appreciated:
> https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg00476.html
>
>
> # Migration/Persistence:
>
> - [Qemu-devel] [PATCH 0/6] fix persistent bitmaps migration logic
>
> Needs review, but can go in after freeze as a fix.
>
>
> # Bitmap manipulation:
>
> - [Qemu-devel] [PATCH 0/1] blockdev: implement n-ary bitmap merge
>
> Possibly important to have if we wish to add merge into transactions, as
> this will greatly simplify the commands needed to be issued to QEMU. Not
> yet reviewed, but I might submit a PR for this tomorrow in anticipation
> of its usefulness over the 1-bitmap version.
>
> - [Qemu-devel] [PATCH v2 00/10] qemu-img: add bitmap info output
>
> On hold until persistence is settled, due to interactions with
> attempting to cache the bitmap metadata. "offline" bitmap manipulation
> will need to occur via QMP on QEMU with no running guest in the
> meantime. We will still need a patch for `qemu-img check -r` that allows
> us to delete corrupted bitmaps, however. That can be a bugfix for 3.0.
>
> There is a follow-up series that's also on hold because it's blocked on
> this series, that adds the actual add/delete/clear offline functionality.
>
>
> # Miscellaneous:
>
> - [Qemu-devel] [PATCH] migration: Appease coverity, skip empty block trees
>
> Needs a respin based on Stefan's feedback. Only important so that it
> doesn't keep annoying Peter Maydell, does not actually fix a bug.
>
> - [Qemu-devel] [PATCH 0/2] dirty bitmap fixes
>
> Staged: https://github.com/jnsnow/qemu/commits/bitmaps
>
> - [Qemu-devel] [PATCH v2] qcow2: add overlap check for bitmap directory
>
> Needs a V3 after review from Max. Not crucial for release, but nice to have.
>
>
>
>
> So in order to put together a demo from QEMU's point-of-view that both
> push and pull model are working, I think we still need:
>
> - iotest 222 and 223 merged, with their respective enablement patches.
> - A new iotest (224?) that combines functionality of both; which makes
> use of perhaps some new features that allow us to tie bitmap
> manipulation to the start of the node fleecing.
> - All of the various bugfixes above reviewed and merged.
>
>
>
> Please let me know if this roadmap is missing anything.
>
> Thanks,
> --js
>