On 27.03.2015 20:20, John Snow wrote:
This patch actually implements the transactional callback system
     for the drive_backup transaction.

This line is probably not intended to be indented (I always wanted to make that pun).

(1) We manually pick up a reference to the bitmap if present to allow
     its cleanup to be delayed until after all drive_backup jobs launched
     by the transaction have fully completed.

(2) We create a functional closure that envelops the original drive_backup
     callback, to be able to intercept the completion status and return code
     for the job.

(3) We add the drive_backup_cb method for the drive_backup action, which
     unpacks the completion information and invokes the final cleanup.

(4) backup_transaction_complete will perform the final cleanup on the
     backup job.

(5) In the case of transaction cancellation, drive_backup_cb is still
     responsible for cleaning up the mess we may have already made.

Signed-off-by: John Snow <js...@redhat.com>
---
  block/backup.c            |  9 ++++++++
  blockdev.c                | 52 ++++++++++++++++++++++++++++++++++++++++++++---
  include/block/block_int.h |  8 ++++++++
  3 files changed, 66 insertions(+), 3 deletions(-)

With that fixed:

Reviewed-by: Max Reitz <mre...@redhat.com>

Reply via email to