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
signature.asc
Description: OpenPGP digital signature