qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC v2 PATCH 0/6] Live block commit


From: Jeff Cody
Subject: Re: [Qemu-devel] [RFC v2 PATCH 0/6] Live block commit
Date: Thu, 30 Aug 2012 17:31:22 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120717 Thunderbird/14.0

On 08/30/2012 02:47 PM, Jeff Cody wrote:
> Live block commit.
> 
> I originally had intended for this RFC series to include the more
> complicated case of a live commit of the active layer, but removed
> it for this commit in the hopes of making it into the soft feature
> freeze for 1.2, so this series is the simpler case.
> 
> This series adds the basic case, of a live commit between two
> images below the active layer, e.g.:
> 
> [base] <--- [snp-1] <--- [snp-2] <--- [snp-3] <--- [active]
> 
> can be collapsed down via commit, into:
> 
> [base] <--- [active]
> 
> or,
> 
> [base] <--- [snp-1] <--- [active],
> 
> [base] <--- [snp-3] <--- [active],
> 
> etc..
> 
> TODO: * qemu-io tests (in progress)
>       * 'stage-2' of live commit functionality, to be able to push down the
>         active layer. This structured something like mirroring, to allow for
>         convergence.
> 
> Changes from the RFC v1 series:
> 
> * This patch series is not on top of Paolo's blk mirror series yet, to make it
>   easier to apply independently if desired.  This means some of what was in 
> the
>   previous RFC series is not in this one (BlockdevOnError, for instance), but
>   that can be easily added in once Paolo's series are in.
> 
> * This patches series is dependent on the reopen() series with transactional
>   reopen.
> 
> * The target release for this series is 1.3
> 
> * Found some mistakes in the reopen calls
> 
> * Dropped the BlockdevOnError argument (for now), will add in if rebasing on
>   top of Paolo's series.
> 
> * Used the new qerror system
> 
> 

I meant to add this to my cover letter, but forgot; if anyone wants to play 
around
with this, you can find it on github:

git://github.com/codyprime/qemu-kvm-jtc.git  (branch jtc-live-commit-1.3)




> Jeff Cody (6):
>   1/6   block: add support functions for live commit, to find and delete
>         images.
>   2/6   block: add live block commit functionality
>   3/6   blockdev: rename block_stream_cb to a generic block_job_cb
>   4/6   qerror: new error for live block commit, QERR_TOP_NOT_FOUND
>   5/6   block: helper function, to find the base image of a chain
>   6/6   QAPI: add command for live block commit, 'block-commit'
> 
>  block.c             | 158 ++++++++++++++++++++++++++++++++++++++++
>  block.h             |   6 +-
>  block/Makefile.objs |   1 +
>  block/commit.c      | 202 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  block_int.h         |  19 +++++
>  blockdev.c          |  91 ++++++++++++++++++++++-
>  qapi-schema.json    |  30 ++++++++
>  qerror.h            |   3 +
>  qmp-commands.hx     |   6 ++
>  trace-events        |   4 +-
>  10 files changed, 515 insertions(+), 5 deletions(-)
>  create mode 100644 block/commit.c
> 




reply via email to

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