mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
block: BdrvChildClass: add .get_parent_aio_context handler
Add new handler to get aio context and implement it in all child classes. Add corresponding public interface to be used soon. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20210428151804.439460-6-vsementsov@virtuozzo.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
ae9d441706
commit
3ca1f32257
5 changed files with 34 additions and 0 deletions
13
block.c
13
block.c
|
@ -1394,6 +1394,13 @@ static int bdrv_child_cb_update_filename(BdrvChild *c, BlockDriverState *base,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static AioContext *bdrv_child_cb_get_parent_aio_context(BdrvChild *c)
|
||||
{
|
||||
BlockDriverState *bs = c->opaque;
|
||||
|
||||
return bdrv_get_aio_context(bs);
|
||||
}
|
||||
|
||||
const BdrvChildClass child_of_bds = {
|
||||
.parent_is_bds = true,
|
||||
.get_parent_desc = bdrv_child_get_parent_desc,
|
||||
|
@ -1407,8 +1414,14 @@ const BdrvChildClass child_of_bds = {
|
|||
.can_set_aio_ctx = bdrv_child_cb_can_set_aio_ctx,
|
||||
.set_aio_ctx = bdrv_child_cb_set_aio_ctx,
|
||||
.update_filename = bdrv_child_cb_update_filename,
|
||||
.get_parent_aio_context = bdrv_child_cb_get_parent_aio_context,
|
||||
};
|
||||
|
||||
AioContext *bdrv_child_get_parent_aio_context(BdrvChild *c)
|
||||
{
|
||||
return c->klass->get_parent_aio_context(c);
|
||||
}
|
||||
|
||||
static int bdrv_open_flags(BlockDriverState *bs, int flags)
|
||||
{
|
||||
int open_flags = flags;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue