qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-block] 2018-07-09 Incremental Backup Status Report


From: John Snow
Subject: [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
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]