diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2015-11-11 16:43:19 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2015-11-11 16:43:19 +0000 |
commit | 2869653f23c63c400d3791513b507e9feddbc751 (patch) | |
tree | 40125a1c80d9c82145b55123f58d07d8a4b6d31f /include | |
parent | 3c07587d49458341510360557c849e93e9afaf59 (diff) | |
parent | 4d07c720f44beafd10907cecfd5b8a57622243c1 (diff) | |
download | qemu-2869653f23c63c400d3791513b507e9feddbc751.zip qemu-2869653f23c63c400d3791513b507e9feddbc751.tar.gz qemu-2869653f23c63c400d3791513b507e9feddbc751.tar.bz2 |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches
# gpg: Signature made Wed 11 Nov 2015 16:03:19 GMT using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
* remotes/kevin/tags/for-upstream: (41 commits)
iotests: Check for quorum support in test 139
qcow2: Fix qcow2_get_cluster_offset() for zero clusters
iotests: Add tests for the x-blockdev-del command
block: Add 'x-blockdev-del' QMP command
block: Add blk_get_refcnt()
mirror: block all operations on the target image during the job
qemu-iotests: fix -valgrind option for check
qemu-iotests: fix cleanup of background processes
qemu-io: Correct error messages
qemu-io: Check for trailing chars
qemu-io: fix cvtnum lval types
block: test 'blockdev-snapshot' using a file BDS as the overlay
block: Remove inner quotation marks in iotest 085
block: Disallow snapshots if the overlay doesn't support backing files
throttle: Use bs->throttle_state instead of bs->io_limits_enabled
throttle: Check for pending requests in throttle_group_unregister_bs()
qemu-img: add check for zero-length job len
qcow2: avoid misaligned 64bit bswap
qemu-iotests: Test the reopening of overlay_bs in 'block-commit'
commit: reopen overlay_bs before base
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/block/block_int.h | 7 | ||||
-rw-r--r-- | include/sysemu/block-backend.h | 4 | ||||
-rw-r--r-- | include/sysemu/blockdev.h | 2 |
3 files changed, 10 insertions, 3 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index 3ceeb5a..603145a 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -390,7 +390,10 @@ struct BlockDriverState { /* number of in-flight serialising requests */ unsigned int serialising_in_flight; - /* I/O throttling */ + /* I/O throttling. + * throttle_state tells us if this BDS has I/O limits configured. + * io_limits_enabled tells us if they are currently being + * enforced, but it can be temporarily set to false */ CoQueue throttled_reqs[2]; bool io_limits_enabled; /* The following fields are protected by the ThrottleGroup lock. @@ -473,6 +476,8 @@ extern BlockDriver bdrv_file; extern BlockDriver bdrv_raw; extern BlockDriver bdrv_qcow2; +extern QTAILQ_HEAD(BdrvStates, BlockDriverState) bdrv_states; + /** * bdrv_setup_io_funcs: * diff --git a/include/sysemu/block-backend.h b/include/sysemu/block-backend.h index 9306a52..f4a68e2 100644 --- a/include/sysemu/block-backend.h +++ b/include/sysemu/block-backend.h @@ -65,6 +65,7 @@ BlockBackend *blk_new_with_bs(const char *name, Error **errp); BlockBackend *blk_new_open(const char *name, const char *filename, const char *reference, QDict *options, int flags, Error **errp); +int blk_get_refcnt(BlockBackend *blk); void blk_ref(BlockBackend *blk); void blk_unref(BlockBackend *blk); const char *blk_name(BlockBackend *blk); @@ -72,6 +73,7 @@ BlockBackend *blk_by_name(const char *name); BlockBackend *blk_next(BlockBackend *blk); BlockDriverState *blk_bs(BlockBackend *blk); +void blk_remove_bs(BlockBackend *blk); void blk_insert_bs(BlockBackend *blk, BlockDriverState *bs); void blk_hide_on_behalf_of_hmp_drive_del(BlockBackend *blk); @@ -166,6 +168,8 @@ void blk_io_unplug(BlockBackend *blk); BlockAcctStats *blk_get_stats(BlockBackend *blk); BlockBackendRootState *blk_get_root_state(BlockBackend *blk); void blk_update_root_state(BlockBackend *blk); +void blk_apply_root_state(BlockBackend *blk, BlockDriverState *bs); +int blk_get_open_flags_from_root_state(BlockBackend *blk); void *blk_aio_get(const AIOCBInfo *aiocb_info, BlockBackend *blk, BlockCompletionFunc *cb, void *opaque); diff --git a/include/sysemu/blockdev.h b/include/sysemu/blockdev.h index a00be94..b06a060 100644 --- a/include/sysemu/blockdev.h +++ b/include/sysemu/blockdev.h @@ -63,8 +63,6 @@ DriveInfo *drive_new(QemuOpts *arg, BlockInterfaceType block_default_type); /* device-hotplug */ -void qmp_change_blockdev(const char *device, const char *filename, - const char *format, Error **errp); void hmp_commit(Monitor *mon, const QDict *qdict); void hmp_drive_del(Monitor *mon, const QDict *qdict); #endif |