[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PULL 08/31] block: Introduce BdrvChild.opaque
From: |
Kevin Wolf |
Subject: |
[Qemu-block] [PULL 08/31] block: Introduce BdrvChild.opaque |
Date: |
Thu, 19 May 2016 17:21:46 +0200 |
BlockBackends use it to get a back pointer from BdrvChild to
BlockBackend in any BdrvChildRole callbacks.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Alberto Garcia <address@hidden>
Acked-by: Stefan Hajnoczi <address@hidden>
---
block/block-backend.c | 2 ++
include/block/block_int.h | 1 +
2 files changed, 3 insertions(+)
diff --git a/block/block-backend.c b/block/block-backend.c
index b9aaa60..52b7b92 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -133,6 +133,7 @@ BlockBackend *blk_new_with_bs(Error **errp)
bs = bdrv_new_root();
blk->root = bdrv_root_attach_child(bs, "root", &child_root);
+ blk->root->opaque = blk;
bs->blk = blk;
return blk;
}
@@ -458,6 +459,7 @@ void blk_insert_bs(BlockBackend *blk, BlockDriverState *bs)
assert(!blk->root && !bs->blk);
bdrv_ref(bs);
blk->root = bdrv_root_attach_child(bs, "root", &child_root);
+ blk->root->opaque = blk;
bs->blk = blk;
notifier_list_notify(&blk->insert_bs_notifiers, blk);
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 1218857..47dfafa 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -373,6 +373,7 @@ struct BdrvChild {
BlockDriverState *bs;
char *name;
const BdrvChildRole *role;
+ void *opaque;
QLIST_ENTRY(BdrvChild) next;
QLIST_ENTRY(BdrvChild) next_parent;
};
--
1.8.3.1
- [Qemu-block] [PULL 00/31] Block layer patches, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 06/31] block: Move actual I/O throttling to BlockBackend, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 01/31] block: Make sure throttled BDSes always have a BB, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 02/31] block: Introduce BlockBackendPublic, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 04/31] block: Convert throttle_group_get_name() to BlockBackend, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 03/31] block: throttle-groups: Use BlockBackend pointers internally, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 08/31] block: Introduce BdrvChild.opaque,
Kevin Wolf <=
- [Qemu-block] [PULL 07/31] block: Move I/O throttling configuration functions to BlockBackend, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 14/31] block: Don't check throttled reqs in bdrv_requests_pending(), Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 09/31] block: Drain throttling queue with BdrvChild callback, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 10/31] block/io: Quiesce parents between drained_begin/end, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 12/31] block: Remove bdrv_move_feature_fields(), Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 05/31] block: Move throttling fields from BDS to BB, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 16/31] block: User BdrvChild callback for device name, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 15/31] block: Use BdrvChild callbacks for change_media/resize, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 18/31] blockjob: Don't touch BDS iostatus, Kevin Wolf, 2016/05/19
- [Qemu-block] [PULL 11/31] block: Decouple throttling from BlockDriverState, Kevin Wolf, 2016/05/19