qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V6 0/3] Implement sync modes for drive-backup.


From: Fam Zheng
Subject: Re: [Qemu-devel] [PATCH V6 0/3] Implement sync modes for drive-backup.
Date: Wed, 24 Jul 2013 08:55:44 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, 07/23 12:55, Ian Main wrote:
> On Tue, Jul 23, 2013 at 01:53:51PM +0200, Stefan Hajnoczi wrote:
> > On Mon, Jul 22, 2013 at 03:09:17PM -0700, Ian Main wrote:
> > > This patch adds sync modes on top of the work that Stefan Hajnoczi has 
> > > done.
> > > 
> > > These patches apply on kevin/block.
> > > 
> > > Hopefully all is in order as this is my first QEMU patch.  Many thanks to
> > > Stephan and Fam Zheng for their help.
> > > 
> > > V2:
> > > 
> > > - No longer poll, instead use qemu_coroutine_yield().
> > > - Use bdrv_co_is_allocated().
> > > - Much better SYNC_MODE_NONE test.
> > > 
> > > V3:
> > > 
> > > - A few style fixes.
> > > - Better commit message explaining how TOP and NONE operate.
> > > - Verified using checkpatch.pl.
> > > 
> > > V4:
> > > 
> > > - Add patch to use the source as a backing hd during backup.
> > > - Add patch to default sync mode none to qcow2.
> > > 
> > > V5:
> > > 
> > > - Fix qcow2 patch.  Forgot to git add final version.
> > > 
> > > V6:
> > > 
> > > - Default to requiring 'format' when mode is absolute-paths.
> > > - Removed one bad hunk that was misapplying.
> > > - Fixed docs, examples and tests to match changes.
> > > - Added tests for format bad/missing.
> > > - Added bdrv_set_in_use() to target.
> > > - Default to qcow2 patch not required.
> > > 
> > > Ian Main (3):
> > >   Implement sync modes for drive-backup.
> > >   Add tests for sync modes 'TOP' and 'NONE'
> > >   Add backing drive while performing backup.
> > > 
> > >  block/backup.c                | 107 
> > > +++++++++++++++++++++++++++++------------
> > >  blockdev.c                    |  36 +++++++++-----
> > >  include/block/block_int.h     |   4 +-
> > >  qapi-schema.json              |   4 +-
> > >  qmp-commands.hx               |   2 +
> > >  tests/qemu-iotests/055        | 108 
> > > +++++++++++++++++++++++++++++++++++++-----
> > >  tests/qemu-iotests/055.out    |   4 +-
> > >  tests/qemu-iotests/group      |   2 +-
> > >  tests/qemu-iotests/iotests.py |   5 ++
> > >  9 files changed, 211 insertions(+), 61 deletions(-)
> > 
> > This patch mostly takes care of image fleecing except it does not give
> > the target a device name which can be used by nbd-server-add.
> 
> It's not clear to me how to do that.  I looked through Fams series and
> was hoping to find a clue there but I may have missed it.

In short, my patches added QMP, the device id version of drive-backup:

    blockdev-backup device=source-id target=target-id

where it needs the target already there:

    (HMP) drive_add ...,backing=source-id"

"backing=source-id" is added there too, it's just the same purpose to
override backing_hd, as you added in block/backup.c

Then we have the target-id to use with NBD.

>  
> > Fam's series tackles the target device name and some of the overlapping
> > problems with your series.
> 
> Yes which is great.
>  
> > The core feature in your series is sync=top|none and that needs to be
> > merged.
> > 
> > Now we need to figure out which patches to take and what must be
> > changed.  Please see the sub-threads on Fam's series.  Perhaps we can
> > reach a consensus there.
> 
> Yes I'm happy to offer whatever help this is.  It does seem like
> applying this is the next logical move however.  Fam could then base his
> patch on top of this one.  At some point soon we need to reconcile
> everything and to me that seems the logical way.  There actually doesn't
> seem to be too much overlap in effort from what I can see.

The overlapping I can see is overriding backing_hd, but I'm not sure
which way will end merged, or both.

> 
> Fam, what do you think?  I'm happy to make changes to make it easier for
> your patchset too.
> 
I think it's fine till now, the hard and unresolved parts are adding
bits to control interface, which is independent on your patches.

Thanks.

-- 
Fam



reply via email to

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