[PATCH v2 0/4] qemu-img compare --stat

Vladimir Sementsov-Ogievskiy posted 4 patches 2 years, 5 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20211021101236.1144824-1-vsementsov@virtuozzo.com
Maintainers: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
There is a newer version of this series
docs/tools/qemu-img.rst                       |  30 +-
qemu-img.c                                    | 269 +++++++++++++++++-
qemu-img-cmds.hx                              |   4 +-
.../qemu-iotests/tests/qemu-img-compare-stat  |  88 ++++++
.../tests/qemu-img-compare-stat.out           | 106 +++++++
5 files changed, 479 insertions(+), 18 deletions(-)
create mode 100755 tests/qemu-iotests/tests/qemu-img-compare-stat
create mode 100644 tests/qemu-iotests/tests/qemu-img-compare-stat.out
[PATCH v2 0/4] qemu-img compare --stat
Posted by Vladimir Sementsov-Ogievskiy 2 years, 5 months ago
Hi all!

v2: allow using --shallow without --stat

Recently we faced the following task:

Customer comes and say: incremental backup images are too fat. Does you
incremental backup works correct?

What to answer? We should check something. At least check that
incremental images doesn't store same data twice. And we don't have a
tool for it. I just wrote a simple python script to compare raw files
cluster-by-cluster. Then we've mounted the qcow2 images with help of
qemu-nbd, the resulting /dev/nbd* were compared and we proved that
incremental backups don't store same data.

But that leads to idea that some kind of that script would be good to
have at hand.

So, here is a new option for qemu-img compare, that is a lot more
powerful and effective than original script, and allows to compare and
calculate statistics, i.e. how many clusters differs, how many
clusters changed from unallocated to data, and so on.

For examples of output look at the test in patch 04.

Vladimir Sementsov-Ogievskiy (4):
  qemu-img: implement compare --stat
  qemu-img: make --block-size optional for compare --stat
  qemu-img: add --shallow option for qemu-img compare
  iotests: add qemu-img-compare-stat test

 docs/tools/qemu-img.rst                       |  30 +-
 qemu-img.c                                    | 269 +++++++++++++++++-
 qemu-img-cmds.hx                              |   4 +-
 .../qemu-iotests/tests/qemu-img-compare-stat  |  88 ++++++
 .../tests/qemu-img-compare-stat.out           | 106 +++++++
 5 files changed, 479 insertions(+), 18 deletions(-)
 create mode 100755 tests/qemu-iotests/tests/qemu-img-compare-stat
 create mode 100644 tests/qemu-iotests/tests/qemu-img-compare-stat.out

-- 
2.31.1