On 07.05.2017 02:05, Eric Blake wrote:
> I've collected several improvements for qcow2 zero-cluster handling.
> 
> Available as a tag at:
> git fetch git://repo.or.cz/qemu/ericb.git nbd-blkdebug-v13
> 
> Marked as v13 for "hysterical raisins", since it it the half of
> v10 [1] that was not resubmitted as v11 [2].
> 
> Depends on Max's block tree:
> https://lists.gnu.org/archive/html/qemu-devel/2017-05/msg00641.html
> and on Max's qcow2 cleanups:
> https://lists.gnu.org/archive/html/qemu-devel/2017-05/msg00689.html
> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05227.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2017-04/msg05896.html
> [3] https://lists.gnu.org/archive/html/qemu-devel/2017-05/msg00722.html
> 
> Changes since last posting (v12 [3]):
> - 2 more new patches: split indentation from other changes (patch 1),
> and add a typedef (patch 5)
> - address Max's findings
> 
> 001/12:[down] 'qcow2: Nicer variable names in 
> qcow2_update_snapshot_refcount()'
> 002/12:[0040] [FC] 'qcow2: Use consistent switch indentation'
> 003/12:[----] [--] 'block: Update comments on BDRV_BLOCK_* meanings'
> 004/12:[----] [--] 'qcow2: Correctly report status of preallocated zero 
> clusters'
> 005/12:[down] 'qcow2: Name typedef for cluster type'
> 006/12:[0032] [FC] 'qcow2: Make distinction between zero cluster types 
> obvious'
> 007/12:[0002] [FC] 'qcow2: Optimize zero_single_l2() to minimize L2 churn'
> 008/12:[0002] [FC] 'iotests: Improve _filter_qemu_img_map'
> 009/12:[0010] [FC] 'iotests: Add test 179 to cover write zeroes with unmap'
> 010/12:[0003] [FC] 'qcow2: Optimize write zero of unaligned tail cluster'
> 011/12:[----] [--] 'qcow2: Assert that cluster operations are aligned'
> 012/12:[----] [--] 'qcow2: Discard/zero clusters by byte count'
> 
> Eric Blake (12):
>   qcow2: Nicer variable names in qcow2_update_snapshot_refcount()
>   qcow2: Use consistent switch indentation
>   block: Update comments on BDRV_BLOCK_* meanings
>   qcow2: Correctly report status of preallocated zero clusters
>   qcow2: Name typedef for cluster type
>   qcow2: Make distinction between zero cluster types obvious
>   qcow2: Optimize zero_single_l2() to minimize L2 churn
>   iotests: Improve _filter_qemu_img_map
>   iotests: Add test 179 to cover write zeroes with unmap
>   qcow2: Optimize write zero of unaligned tail cluster
>   qcow2: Assert that cluster operations are aligned
>   qcow2: Discard/zero clusters by byte count
> 
>  block/qcow2.h                    |  23 +++--
>  include/block/block.h            |  35 ++++----
>  include/block/block_int.h        |   7 ++
>  block/qcow2-cluster.c            | 181 
> ++++++++++++++++++++++-----------------
>  block/qcow2-refcount.c           | 144 +++++++++++++++----------------
>  block/qcow2-snapshot.c           |   7 +-
>  block/qcow2.c                    |  38 ++++----
>  tests/qemu-iotests/common.filter |   4 +-
>  tests/qemu-iotests/060.out       |   6 +-
>  tests/qemu-iotests/122.out       |  16 ++--
>  tests/qemu-iotests/154           | 160 +++++++++++++++++++++++++++++++++-
>  tests/qemu-iotests/154.out       | 158 ++++++++++++++++++++++++++++++----
>  tests/qemu-iotests/179           | 130 ++++++++++++++++++++++++++++
>  tests/qemu-iotests/179.out       | 156 +++++++++++++++++++++++++++++++++
>  tests/qemu-iotests/group         |   1 +
>  15 files changed, 840 insertions(+), 226 deletions(-)
>  create mode 100755 tests/qemu-iotests/179
>  create mode 100644 tests/qemu-iotests/179.out

Thanks, applied to my block branch with patch 5 extended as proposed
(and git fixed patch 6 automagically):

https://github.com/XanClic/qemu/commits/block

Max

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to