Re: [Qemu-block] [PATCH v4 09/11] block: drive_backup transaction callback support

2015-05-18 Thread Stefan Hajnoczi
On Mon, May 11, 2015 at 07:04:24PM -0400, John Snow wrote: +static void drive_backup_cb(BlkActionState *common) +{ +BlkActionCallbackData *cb_data = common-cb_data; +BlockDriverState *bs = cb_data-opaque; +DriveBackupState *state = DO_UPCAST(DriveBackupState, common, common); +

Re: [Qemu-block] [PATCH v4 09/11] block: drive_backup transaction callback support

2015-05-18 Thread John Snow
On 05/18/2015 11:35 AM, Stefan Hajnoczi wrote: On Mon, May 11, 2015 at 07:04:24PM -0400, John Snow wrote: +static void drive_backup_cb(BlkActionState *common) +{ + BlkActionCallbackData *cb_data = common-cb_data; + BlockDriverState *bs = cb_data-opaque; +DriveBackupState *state =

[Qemu-block] [PATCH v4 09/11] block: drive_backup transaction callback support

2015-05-11 Thread John Snow
This patch actually implements the transactional callback system for the drive_backup action. (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