diff options
author | Kevin Wolf | 2017-02-08 11:28:52 +0100 |
---|---|---|
committer | Kevin Wolf | 2017-02-28 20:40:37 +0100 |
commit | db95dbba3b7b09cd11ffaf3a8453c2500e807f80 (patch) | |
tree | ac4930f31c65faba839762df0ad5ca065f75042c /include/block | |
parent | block: Fix pending requests check in bdrv_append() (diff) | |
download | qemu-db95dbba3b7b09cd11ffaf3a8453c2500e807f80.tar.gz qemu-db95dbba3b7b09cd11ffaf3a8453c2500e807f80.tar.xz qemu-db95dbba3b7b09cd11ffaf3a8453c2500e807f80.zip |
block: BdrvChildRole.attach/detach() callbacks
Backing files are somewhat special compared to other kinds of children
because they are attached and detached using bdrv_set_backing_hd()
rather than the normal set of functions, which does a few more things
like setting backing blockers, toggling the BDRV_O_NO_BACKING flag,
setting parent_bs->backing_file, etc.
These special features are a reason why change_parent_backing_link()
can't handle backing files yet. With abstracting the additional features
into .attach/.detach callbacks, we get a step closer to a function that
can actually deal with this.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Acked-by: Fam Zheng <famz@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/block_int.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index a0d9328b59..a5c704bb5e 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -472,6 +472,9 @@ struct BdrvChildRole { */ void (*drained_begin)(BdrvChild *child); void (*drained_end)(BdrvChild *child); + + void (*attach)(BdrvChild *child); + void (*detach)(BdrvChild *child); }; extern const BdrvChildRole child_file; |