On Fri, 3 May 2013 13:17:59 +0200 Stefan Hajnoczi <stefa...@gmail.com> wrote:
> On Thu, May 02, 2013 at 10:26:41AM +0800, Wenchao Xia wrote: > > This serial will package backing chain snapshot code as one case, to make > > it > > possible adding more operations later. > > > > v2: > > Address Kevin's comments: > > Use the same prototype prepare, commit, rollback model in original code, > > commit should never fail. > > > > v3: > > Address Stefan's comments: > > 3/5, 4/5: remove *action parameter since later only BlkTransactionStates* > > is > > needed. > > 5/5: embbed BlkTransactionStates in ExternalSnapshotStates, *opaque is > > removed, related call back function format change for external snapshot. > > Address Kevin's comments: > > removed all indention in commit message. > > 1/5: return void for prepare() function, *errp plays the role as error > > checker. > > 5/5: mark *commit callback must exist, *rollback callback can be NULL. > > Align > > "callback =" in "const BdrvActionOps external_snapshot_ops" to the same > > colum. > > Address Eric's comments: > > 1/5: better commit message. > > 5/5: better commit message and comments in code that only one of > > rollback() > > or commit() will be called. > > > > v4: > > 5/5: document clean() callback will always be called if it present, > > declare > > static for global variable "actions", use array plus .instance_size to > > remove > > "switch" checking code according to caller input. > > > > Wenchao Xia (5): > > 1 block: package preparation code in qmp_transaction() > > 2 block: move input parsing code in qmp_transaction() > > 3 block: package committing code in qmp_transaction() > > 4 block: package rollback code in qmp_transaction() > > 5 block: make all steps in qmp_transaction() as callback > > > > blockdev.c | 263 > > ++++++++++++++++++++++++++++++++++++++--------------------- > > 1 files changed, 169 insertions(+), 94 deletions(-) > > Good for QEMU 1.6. > > Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com> Looks good to me too. Are you going to apply v5 to the block branch?