[Qemu-devel] [PATCH v13 00/12] qcow2 zero-cluster tweaks [was add blkdebug tests]

Eric Blake posted 12 patches 6 years, 11 months ago
Failed in applying to current master (apply log)
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
[Qemu-devel] [PATCH v13 00/12] qcow2 zero-cluster tweaks [was add blkdebug tests]
Posted by Eric Blake 6 years, 11 months ago
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

-- 
2.9.3


Re: [Qemu-devel] [PATCH v13 00/12] qcow2 zero-cluster tweaks [was add blkdebug tests]
Posted by Max Reitz 6 years, 11 months ago
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