diff options
author | Kevin Wolf <kwolf@redhat.com> | 2017-05-04 18:52:37 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2017-05-11 12:08:24 +0200 |
commit | 4417ab7adf1613799054be5afedf810fc2524ee8 (patch) | |
tree | 07b0be1c2077c7eecddab8e36fe4af21140b43d7 /include/block/block_int.h | |
parent | ace21a58751824f9a3d399e332317233e880de3a (diff) | |
download | qemu-4417ab7adf1613799054be5afedf810fc2524ee8.zip qemu-4417ab7adf1613799054be5afedf810fc2524ee8.tar.gz qemu-4417ab7adf1613799054be5afedf810fc2524ee8.tar.bz2 |
block: New BdrvChildRole.activate() for blk_resume_after_migration()
Instead of manually calling blk_resume_after_migration() in migration
code after doing bdrv_invalidate_cache_all(), integrate the BlockBackend
activation with cache invalidation into a single function. This is
achieved with a new callback in BdrvChildRole that is called by
bdrv_invalidate_cache_all().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'include/block/block_int.h')
-rw-r--r-- | include/block/block_int.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index 1b4d08e..5637925 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -473,6 +473,11 @@ struct BdrvChildRole { void (*drained_begin)(BdrvChild *child); void (*drained_end)(BdrvChild *child); + /* Notifies the parent that the child has been activated (e.g. when + * migration is completing) and it can start requesting permissions and + * doing I/O on it. */ + void (*activate)(BdrvChild *child, Error **errp); + void (*attach)(BdrvChild *child); void (*detach)(BdrvChild *child); }; |