diff options
author | Kevin Wolf <kwolf@redhat.com> | 2019-04-25 14:25:10 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2019-06-04 15:22:22 +0200 |
commit | d861ab3acf8dcf817e0c2335979b258847b69564 (patch) | |
tree | 9e334e6976355a7a262e3a9200354008195becfc /hw/core/qdev-properties-system.c | |
parent | 97896a4887a0a29c3314c5f0e9a82e269a6401fc (diff) | |
download | qemu-d861ab3acf8dcf817e0c2335979b258847b69564.zip qemu-d861ab3acf8dcf817e0c2335979b258847b69564.tar.gz qemu-d861ab3acf8dcf817e0c2335979b258847b69564.tar.bz2 |
block: Add BlockBackend.ctx
This adds a new parameter to blk_new() which requires its callers to
declare from which AioContext this BlockBackend is going to be used (or
the locks of which AioContext need to be taken anyway).
The given context is only stored and kept up to date when changing
AioContexts. Actually applying the stored AioContext to the root node
is saved for another commit.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/core/qdev-properties-system.c')
-rw-r--r-- | hw/core/qdev-properties-system.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c index b45a7ef..42e048f 100644 --- a/hw/core/qdev-properties-system.c +++ b/hw/core/qdev-properties-system.c @@ -80,7 +80,9 @@ static void parse_drive(DeviceState *dev, const char *str, void **ptr, if (!blk) { BlockDriverState *bs = bdrv_lookup_bs(NULL, str, NULL); if (bs) { - blk = blk_new(0, BLK_PERM_ALL); + /* BlockBackends of devices start in the main context and are only + * later moved into another context if the device supports that. */ + blk = blk_new(qemu_get_aio_context(), 0, BLK_PERM_ALL); blk_created = true; ret = blk_insert_bs(blk, bs, errp); |