Block layer patches
- Expose block limits in monitor and qemu-img info - Resize: Refresh filter node size when its child was resized - Support configuring stats-intervals in -device (instead of only -drive) - luks: Fix QMP x-blockdev-amend crash and image creation with detached-header - iotests: Several test case fixes - Code cleanups -----BEGIN PGP SIGNATURE----- iQJFBAABCgAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmkCAkIRHGt3b2xmQHJl ZGhhdC5jb20ACgkQfwmycsiPL9a3bA/+MMS9ocOyEiE4u66XbhQ4KgqxECtD/uzg 3lYQJbfVpphizq0QQn1pAno9rpjdWnkwPv9TasAEM/9R/wz/ygjmXM9GyQDvNLoB t6dTyWKpsi4lVB7FNPBNQvyz7mHqWQULrhI/mNGLsbiss32SMiE08amjOzSrFSZJ zn8TsEzDB218Bv8OBH/eI1mMvZ2gG6+yzPf7znA5nSOtJkG1kGLPInZuRgeN7e7W DUl5EeiP3sGZh4pF/IyRc8BNMsvPR7Lk31PrPEXAz+7g0y8dfPukrcR0nY6nwekT omPhbIBfDOEKpYdBxheOdh9TkT40Fo2Oc7DIhzY4at3O02BKy60kJSZaqoWj+80L A3yJ1K7wgiwqzOw0VaHU56Y5awnD5cculciwHxrfc6OHnG9cotvCSxsU2qr/UMd2 N/cPhUDKfWcilVoRNy+yYiubQsp2s4amF2uGDn/QjjZx0c3dgfXc9BCNmu9nbAMr UsmzZBH9GCpaTajVIsX8RdnaovMTxGr4UFyuSQ2jWYWp3k2BR89jkBpXReGGOYr6 SuEOOnx/E1duTZUPq1gdSkQm9uGxxq5FSGIWR+rWMdFkZS09HStmq5hcY+Zx0pSg JzDaLgPATV65y0VswFVUj6NemmNU983DwKPACwVCpemeBETtVuoU/CydzEPPwiL6 Kl5ISmjZz3I= =v2BI -----END PGP SIGNATURE----- Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging Block layer patches - Expose block limits in monitor and qemu-img info - Resize: Refresh filter node size when its child was resized - Support configuring stats-intervals in -device (instead of only -drive) - luks: Fix QMP x-blockdev-amend crash and image creation with detached-header - iotests: Several test case fixes - Code cleanups # -----BEGIN PGP SIGNATURE----- # # iQJFBAABCgAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmkCAkIRHGt3b2xmQHJl # ZGhhdC5jb20ACgkQfwmycsiPL9a3bA/+MMS9ocOyEiE4u66XbhQ4KgqxECtD/uzg # 3lYQJbfVpphizq0QQn1pAno9rpjdWnkwPv9TasAEM/9R/wz/ygjmXM9GyQDvNLoB # t6dTyWKpsi4lVB7FNPBNQvyz7mHqWQULrhI/mNGLsbiss32SMiE08amjOzSrFSZJ # zn8TsEzDB218Bv8OBH/eI1mMvZ2gG6+yzPf7znA5nSOtJkG1kGLPInZuRgeN7e7W # DUl5EeiP3sGZh4pF/IyRc8BNMsvPR7Lk31PrPEXAz+7g0y8dfPukrcR0nY6nwekT # omPhbIBfDOEKpYdBxheOdh9TkT40Fo2Oc7DIhzY4at3O02BKy60kJSZaqoWj+80L # A3yJ1K7wgiwqzOw0VaHU56Y5awnD5cculciwHxrfc6OHnG9cotvCSxsU2qr/UMd2 # N/cPhUDKfWcilVoRNy+yYiubQsp2s4amF2uGDn/QjjZx0c3dgfXc9BCNmu9nbAMr # UsmzZBH9GCpaTajVIsX8RdnaovMTxGr4UFyuSQ2jWYWp3k2BR89jkBpXReGGOYr6 # SuEOOnx/E1duTZUPq1gdSkQm9uGxxq5FSGIWR+rWMdFkZS09HStmq5hcY+Zx0pSg # JzDaLgPATV65y0VswFVUj6NemmNU983DwKPACwVCpemeBETtVuoU/CydzEPPwiL6 # Kl5ISmjZz3I= # =v2BI # -----END PGP SIGNATURE----- # gpg: Signature made Wed 29 Oct 2025 01:02:10 PM CET # gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6 # gpg: issuer "kwolf@redhat.com" # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [unknown] # gpg: WARNING: The key's User ID is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6 * tag 'for-upstream' of https://repo.or.cz/qemu/kevin: qemu-img info: Add cache mode option qemu-img info: Optionally show block limits block: Expose block limits for images in QMP block: Improve comments in BlockLimits iotests: add test for resizing a 'file' node below a 'raw' node iotests: add test for resizing a node below filters block: implement 'resize' callback for child_of_bds class block: make bdrv_co_parent_cb_resize() a proper IO API function include/block/block_int-common: document when resize callback is used MAINTAINERS: Mark VHDX block driver as "Odd Fixes" block: enable stats-intervals for storage devices iotests: Adjust fuse-allow-other expected output iotests: Adjust nbd expected outputs to match current behavior block/curl.c: Fix CURLOPT_VERBOSE parameter type block/monitor: Use hmp_handle_error to report error block: fix luks 'amend' when run in coroutine block: remove 'detached-header' option from opts after use tests/qemu-iotests: Mark the 'inactive-node-nbd' as unsupported with -luks Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
0979667049
32 changed files with 479 additions and 96 deletions
|
|
@ -275,6 +275,69 @@
|
|||
'file': 'ImageInfoSpecificFileWrapper'
|
||||
} }
|
||||
|
||||
##
|
||||
# @BlockLimitsInfo:
|
||||
#
|
||||
# @request-alignment: Alignment requirement, in bytes, for
|
||||
# offset/length of I/O requests.
|
||||
#
|
||||
# @max-discard: Maximum number of bytes that can be discarded at once.
|
||||
# If not present, there is no specific maximum.
|
||||
#
|
||||
# @discard-alignment: Optimal alignment for discard requests in bytes.
|
||||
# Note that this doesn't have to be a power of two. If not
|
||||
# present, discards don't have a alignment requirement different
|
||||
# from @request-alignment.
|
||||
#
|
||||
# @max-write-zeroes: Maximum number of bytes that can be zeroed out at
|
||||
# once. If not present, there is no specific maximum.
|
||||
#
|
||||
# @write-zeroes-alignment: Optimal alignment for write zeroes requests
|
||||
# in bytes. Note that this doesn't have to be a power of two. If
|
||||
# not present, write_zeroes doesn't have a alignment requirement
|
||||
# different from @request-alignment.
|
||||
#
|
||||
# @opt-transfer: Optimal transfer length in bytes. If not present,
|
||||
# there is no preferred size.
|
||||
#
|
||||
# @max-transfer: Maximal transfer length in bytes. If not present,
|
||||
# there is no specific maximum.
|
||||
#
|
||||
# @max-hw-transfer: Maximal hardware transfer length in bytes.
|
||||
# Applies whenever transfers to the device bypass the kernel I/O
|
||||
# scheduler, for example with SG_IO. If not present, there is no
|
||||
# specific maximum.
|
||||
#
|
||||
# @max-iov: Maximum number of scatter/gather elements
|
||||
#
|
||||
# @max-hw-iov: Maximum number of scatter/gather elements allowed by
|
||||
# the hardware. Applies whenever transfers to the device bypass
|
||||
# the kernel I/O scheduler, for example with SG_IO. If not
|
||||
# present, the hardware limits is unknown and @max-iov is always
|
||||
# used.
|
||||
#
|
||||
# @min-mem-alignment: Minimal required memory alignment in bytes for
|
||||
# zero-copy I/O to succeed. For unaligned requests, a bounce
|
||||
# buffer will be used.
|
||||
#
|
||||
# @opt-mem-alignment: Optimal memory alignment in bytes. This is the
|
||||
# alignment used for any buffer allocations QEMU performs
|
||||
# internally.
|
||||
##
|
||||
{ 'struct': 'BlockLimitsInfo',
|
||||
'data': { 'request-alignment': 'uint32',
|
||||
'*max-discard': 'uint64',
|
||||
'*discard-alignment': 'uint32',
|
||||
'*max-write-zeroes': 'uint64',
|
||||
'*write-zeroes-alignment': 'uint32',
|
||||
'*opt-transfer': 'uint32',
|
||||
'*max-transfer': 'uint32',
|
||||
'*max-hw-transfer': 'uint32',
|
||||
'max-iov': 'int',
|
||||
'*max-hw-iov': 'int',
|
||||
'min-mem-alignment': 'size',
|
||||
'opt-mem-alignment': 'size' } }
|
||||
|
||||
##
|
||||
# @BlockNodeInfo:
|
||||
#
|
||||
|
|
@ -304,6 +367,8 @@
|
|||
#
|
||||
# @snapshots: list of VM snapshots
|
||||
#
|
||||
# @limits: block limits that are used for I/O on the node (Since 10.2)
|
||||
#
|
||||
# @format-specific: structure supplying additional format-specific
|
||||
# information (since 1.7)
|
||||
#
|
||||
|
|
@ -315,6 +380,7 @@
|
|||
'*cluster-size': 'int', '*encrypted': 'bool', '*compressed': 'bool',
|
||||
'*backing-filename': 'str', '*full-backing-filename': 'str',
|
||||
'*backing-filename-format': 'str', '*snapshots': ['SnapshotInfo'],
|
||||
'*limits': 'BlockLimitsInfo',
|
||||
'*format-specific': 'ImageInfoSpecific' } }
|
||||
|
||||
##
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue