From db95dbba3b7b09cd11ffaf3a8453c2500e807f80 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Wed, 8 Feb 2017 11:28:52 +0100 Subject: 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 Reviewed-by: Max Reitz Acked-by: Fam Zheng --- include/block/block_int.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') 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; -- cgit v1.2.3-55-g7522