The following changes since commit 4907644841e3200aea6475c0f72d3d987e9f3d93:
Merge tag 'mem-2023-09-19' of https://github.com/davidhildenbrand/qemu into staging (2023-09-19 13:22:19 -0400)
are available in the Git repository at:
https://src.openvz.org/scm/~den/qemu.git tags/pull-parallels-2023-09-20-v2
for you to fetch changes up to 1dba99e34d1bcb3c0de69c4270f9587b01e225fe:
tests: extend test 131 to cover availability of the write-zeroes (2023-09-21 08:49:28 +0200)
----------------------------------------------------------------
Parallels format driver:
* regular calculation of cluster used bitmap of the image file
* cluster allocation on the base of that bitmap (effectively allocation of
new clusters could be done inside the image if that offset space is unused)
* support of DISCARD and WRITE_ZEROES operations
* image check bugfixes
* unit tests fixes
* unit tests covering new functionality
----------------------------------------------------------------
Changes from v1:
* patch 12: bdrv_co_getlength -> bdrv_getlength in parallels_fill_used_bitmap
as called from open()
* patch 19: added GRAPH_RDLOCK specifier for parallels_co_pdiscard
* patch 21: added GRAPH_RDLOCK specifier for parallels_co_pwrite_zeroes
----------------------------------------------------------------
Denis V. Lunev (22):
parallels: fix formatting in bdrv_parallels initialization
parallels: mark driver as supporting CBT
parallels: fix memory leak in parallels_open()
parallels: invent parallels_opts_prealloc() helper to parse prealloc opts
parallels: return earler in fail_format branch in parallels_open()
parallels: return earlier from parallels_open() function on error
parallels: refactor path when we need to re-check image in parallels_open
parallels: create mark_used() helper which sets bit in used bitmap
tests: ensure that image validation will not cure the corruption
parallels: fix broken parallels_check_data_off()
parallels: add test which will validate data_off fixes through repair
parallels: collect bitmap of used clusters at open
tests: fix broken deduplication check in parallels format test
tests: test self-cure of parallels image with duplicated clusters
parallels: accept multiple clusters in mark_used()
parallels: update used bitmap in allocate_cluster
parallels: naive implementation of allocate_clusters with used bitmap
parallels: improve readability of allocate_clusters
parallels: naive implementation of parallels_co_pdiscard
tests: extend test 131 to cover availability of the discard operation
parallels: naive implementation of parallels_co_pwrite_zeroes
tests: extend test 131 to cover availability of the write-zeroes
block/parallels.c | 389 ++++++++++++++++++++------
block/parallels.h | 3 +
tests/qemu-iotests/131 | 52 ++++
tests/qemu-iotests/131.out | 60 ++++
tests/qemu-iotests/tests/parallels-checks | 76 ++++-
tests/qemu-iotests/tests/parallels-checks.out | 65 ++++-
6 files changed, 544 insertions(+), 101 deletions(-)