summaryrefslogtreecommitdiffstats
path: root/include/block
diff options
context:
space:
mode:
authorKevin Wolf2017-02-08 11:28:52 +0100
committerKevin Wolf2017-02-28 20:40:37 +0100
commitdb95dbba3b7b09cd11ffaf3a8453c2500e807f80 (patch)
treeac4930f31c65faba839762df0ad5ca065f75042c /include/block
parentblock: Fix pending requests check in bdrv_append() (diff)
downloadqemu-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.h3
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;