mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
Block layer patches:
- file-posix: Make auto-read-only dynamic - Add x-blockdev-reopen QMP command - Finalize block-latency-histogram QMP command - gluster: Build fixes for newer lib version -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJciAjXAAoJEH8JsnLIjy/WwMcP/3VawpEBO4I94gp7KNUO1yZa rW7Rk0VO0gcvjk4fyTpQ1I3U2dfX6NwZLFMrk4oUS382QcKL9ky/TXVeeCaWxYxi 51OH6+wHQKu1MuAjM9acXRD59pfOwmI6wbKAgrungeFzHF3TvCYcLD0rY9Mhz1wp Q7Oqkk2au6cFrmqZChCF2S5guZc0JOuwzd+LdDshRNDek2Px8a3etVq37VBUuxzK WDvIws1IZkFI5y2WE3T8kn7YJ8NgMZ1p47tgkymDX7fkn3V766tec8ZYBy1Qz9ab +I3UlzijuXB8vq+egEtzQfJvvTyoPrb65VFjW94ITu9onuclYo1oV5XVgx2c/NiR WnUagbu9nft1E4+zmSrVB3Y4I7Pbwi+At/2L2dMQXIrrebK50Cqg8GW2fthhq/KM 5NavsqgdH14gOGS1yUGu06J0HO87XiJUKta4Th9M6iKvcGJqZ+F1WZGSiVEhhk1W w0FSmWdB/XdUwWoWdQnfx8d43OK34Q3spqsAe59DvKKyORw8Uug1i43yWvSepwSf SILmRYLOpMIrKUihh9NPIxB6QCzv/Mt7WjSEtaif+EXgQIGZhoQBjWpde0h5Dwh5 DrVz6NqDNnz0VDARPq2hgWOs4RlNpMvx5eZFJcK66RsOfLom3CL7mpnVaa+jd6e6 Nf0HPh/ubFB0IeEYbV0n =dQt+ -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging Block layer patches: - file-posix: Make auto-read-only dynamic - Add x-blockdev-reopen QMP command - Finalize block-latency-histogram QMP command - gluster: Build fixes for newer lib version # gpg: Signature made Tue 12 Mar 2019 19:30:31 GMT # gpg: using RSA key 7F09B272C88F2FD6 # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full] # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * remotes/kevin/tags/for-upstream: (28 commits) qemu-iotests: Test the x-blockdev-reopen QMP command block: Add an 'x-blockdev-reopen' QMP command block: Remove the AioContext parameter from bdrv_reopen_multiple() block: Add bdrv_reset_options_allowed() block: Add a 'mutable_opts' field to BlockDriver block: Allow changing the backing file on reopen block: Allow omitting the 'backing' option in certain cases block: Handle child references in bdrv_reopen_queue() block: Add 'keep_old_opts' parameter to bdrv_reopen_queue() block: Freeze the backing chain for the duration of the stream job block: Freeze the backing chain for the duration of the mirror job block: Freeze the backing chain for the duration of the commit job block: Allow freezing BdrvChild links nvme: fix write zeroes offset and count file-posix: Make auto-read-only dynamic file-posix: Prepare permission code for fd switching file-posix: Lock new fd in raw_reopen_prepare() file-posix: Store BDRVRawState.reopen_state during reopen file-posix: Factor out raw_reconfigure_getfd() file-posix: Fix bdrv_open_flags() for snapshot=on ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
36fe770966
26 changed files with 1929 additions and 160 deletions
|
@ -537,20 +537,20 @@
|
|||
# +------------------
|
||||
# 10 50 100
|
||||
#
|
||||
# Since: 2.12
|
||||
# Since: 4.0
|
||||
##
|
||||
{ 'struct': 'BlockLatencyHistogramInfo',
|
||||
'data': {'boundaries': ['uint64'], 'bins': ['uint64'] } }
|
||||
|
||||
##
|
||||
# @x-block-latency-histogram-set:
|
||||
# @block-latency-histogram-set:
|
||||
#
|
||||
# Manage read, write and flush latency histograms for the device.
|
||||
#
|
||||
# If only @device parameter is specified, remove all present latency histograms
|
||||
# for the device. Otherwise, add/reset some of (or all) latency histograms.
|
||||
#
|
||||
# @device: device name to set latency histogram for.
|
||||
# @id: The name or QOM path of the guest device.
|
||||
#
|
||||
# @boundaries: list of interval boundary values (see description in
|
||||
# BlockLatencyHistogramInfo definition). If specified, all
|
||||
|
@ -573,7 +573,7 @@
|
|||
#
|
||||
# Returns: error if device is not found or any boundary arrays are invalid.
|
||||
#
|
||||
# Since: 2.12
|
||||
# Since: 4.0
|
||||
#
|
||||
# Example: set new histograms for all io types with intervals
|
||||
# [0, 10), [10, 50), [50, 100), [100, +inf):
|
||||
|
@ -607,8 +607,8 @@
|
|||
# "arguments": { "device": "drive0" } }
|
||||
# <- { "return": {} }
|
||||
##
|
||||
{ 'command': 'x-block-latency-histogram-set',
|
||||
'data': {'device': 'str',
|
||||
{ 'command': 'block-latency-histogram-set',
|
||||
'data': {'id': 'str',
|
||||
'*boundaries': ['uint64'],
|
||||
'*boundaries-read': ['uint64'],
|
||||
'*boundaries-write': ['uint64'],
|
||||
|
@ -894,11 +894,11 @@
|
|||
# @timed_stats: Statistics specific to the set of previously defined
|
||||
# intervals of time (Since 2.5)
|
||||
#
|
||||
# @x_rd_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
|
||||
# @rd_latency_histogram: @BlockLatencyHistogramInfo. (Since 4.0)
|
||||
#
|
||||
# @x_wr_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
|
||||
# @wr_latency_histogram: @BlockLatencyHistogramInfo. (Since 4.0)
|
||||
#
|
||||
# @x_flush_latency_histogram: @BlockLatencyHistogramInfo. (Since 2.12)
|
||||
# @flush_latency_histogram: @BlockLatencyHistogramInfo. (Since 4.0)
|
||||
#
|
||||
# Since: 0.14.0
|
||||
##
|
||||
|
@ -913,9 +913,9 @@
|
|||
'invalid_wr_operations': 'int', 'invalid_flush_operations': 'int',
|
||||
'account_invalid': 'bool', 'account_failed': 'bool',
|
||||
'timed_stats': ['BlockDeviceTimedStats'],
|
||||
'*x_rd_latency_histogram': 'BlockLatencyHistogramInfo',
|
||||
'*x_wr_latency_histogram': 'BlockLatencyHistogramInfo',
|
||||
'*x_flush_latency_histogram': 'BlockLatencyHistogramInfo' } }
|
||||
'*rd_latency_histogram': 'BlockLatencyHistogramInfo',
|
||||
'*wr_latency_histogram': 'BlockLatencyHistogramInfo',
|
||||
'*flush_latency_histogram': 'BlockLatencyHistogramInfo' } }
|
||||
|
||||
##
|
||||
# @BlockStats:
|
||||
|
@ -3997,6 +3997,48 @@
|
|||
##
|
||||
{ 'command': 'blockdev-add', 'data': 'BlockdevOptions', 'boxed': true }
|
||||
|
||||
##
|
||||
# @x-blockdev-reopen:
|
||||
#
|
||||
# Reopens a block device using the given set of options. Any option
|
||||
# not specified will be reset to its default value regardless of its
|
||||
# previous status. If an option cannot be changed or a particular
|
||||
# driver does not support reopening then the command will return an
|
||||
# error.
|
||||
#
|
||||
# The top-level @node-name option (from BlockdevOptions) must be
|
||||
# specified and is used to select the block device to be reopened.
|
||||
# Other @node-name options must be either omitted or set to the
|
||||
# current name of the appropriate node. This command won't change any
|
||||
# node name and any attempt to do it will result in an error.
|
||||
#
|
||||
# In the case of options that refer to child nodes, the behavior of
|
||||
# this command depends on the value:
|
||||
#
|
||||
# 1) A set of options (BlockdevOptions): the child is reopened with
|
||||
# the specified set of options.
|
||||
#
|
||||
# 2) A reference to the current child: the child is reopened using
|
||||
# its existing set of options.
|
||||
#
|
||||
# 3) A reference to a different node: the current child is replaced
|
||||
# with the specified one.
|
||||
#
|
||||
# 4) NULL: the current child (if any) is detached.
|
||||
#
|
||||
# Options (1) and (2) are supported in all cases, but at the moment
|
||||
# only @backing allows replacing or detaching an existing child.
|
||||
#
|
||||
# Unlike with blockdev-add, the @backing option must always be present
|
||||
# unless the node being reopened does not have a backing file and its
|
||||
# image does not have a default backing file name as part of its
|
||||
# metadata.
|
||||
#
|
||||
# Since: 4.0
|
||||
##
|
||||
{ 'command': 'x-blockdev-reopen',
|
||||
'data': 'BlockdevOptions', 'boxed': true }
|
||||
|
||||
##
|
||||
# @blockdev-del:
|
||||
#
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue