Since QEMU 1.1 qcow2 supports a features bitfield, allowing
to implement additional features without breaking compatibility
with older QEMU versions.
The version header on-disk is bumped to 3, however the format name
is still 'qcow2', not 'qcow3' (which is what I used in v2).
v5:
Use [0-9]+.[0-9]+ for compat value and enforce it in XML.
Fix broken rebase (error vs. cleanup labels).
Check if the specified feature is available with the current compat level.
v4: rebased
https://www.redhat.com/archives/libvir-list/2013-June/msg00427.html
v3:
https://www.redhat.com/archives/libvir-list/2013-May/msg01179.html
v2:
https://www.redhat.com/archives/libvir-list/2013-February/msg00212.html
qcow2 vs. qcow3 discussion:
https://www.redhat.com/archives/libvir-list/2013-March/msg00094.html
Ján Tomko (5):
util: add support for qcow2v3 image detection
conf: add features to volume target XML
storage: add support for creating qcow2 images with extensions
conf: add features to snapshot disk XML
qemu: add qcow2 extension support to inactive external snapshots
docs/formatsnapshot.html.in | 5 +
docs/formatstorage.html.in | 20 +++
docs/schemas/Makefile.am | 1 +
docs/schemas/domainsnapshot.rng | 7 +
docs/schemas/storagefilefeatures.rng | 24 ++++
docs/schemas/storagevol.rng | 7 +
libvirt.spec.in | 1 +
mingw-libvirt.spec.in | 2 +
src/conf/snapshot_conf.c | 84 +++++++++++
src/conf/snapshot_conf.h | 2 +
src/conf/storage_conf.c | 78 +++++++++++
src/conf/storage_conf.h | 7 +-
src/libvirt_private.syms | 2 +
src/qemu/qemu_driver.c | 88 ++++++++++--
src/storage/storage_backend.c | 62 ++++++++-
src/storage/storage_backend_fs.c | 10 ++
src/util/virstoragefile.c | 169 ++++++++++++++++++-----
src/util/virstoragefile.h | 12 ++
tests/domainsnapshotxml2xmlin/disk_snapshot.xml | 5 +
tests/domainsnapshotxml2xmlout/disk_snapshot.xml | 4 +
tests/storagevolxml2argvdata/qcow2-1.1.argv | 1 +
tests/storagevolxml2argvdata/qcow2-lazy.argv | 1 +
tests/storagevolxml2argvdata/vol-qcow2-1.1.xml | 32 +++++
tests/storagevolxml2argvdata/vol-qcow2-lazy.xml | 35 +++++
tests/storagevolxml2argvtest.c | 2 +
tests/storagevolxml2xmlin/vol-qcow2-1.1.xml | 32 +++++
tests/storagevolxml2xmlin/vol-qcow2-lazy.xml | 35 +++++
tests/storagevolxml2xmlout/vol-qcow2-1.1.xml | 33 +++++
tests/storagevolxml2xmlout/vol-qcow2-lazy.xml | 35 +++++
tests/storagevolxml2xmltest.c | 2 +
30 files changed, 737 insertions(+), 61 deletions(-)
create mode 100644 docs/schemas/storagefilefeatures.rng
create mode 100644 tests/storagevolxml2argvdata/qcow2-1.1.argv
create mode 100644 tests/storagevolxml2argvdata/qcow2-lazy.argv
create mode 100644 tests/storagevolxml2argvdata/vol-qcow2-1.1.xml
create mode 100644 tests/storagevolxml2argvdata/vol-qcow2-lazy.xml
create mode 100644 tests/storagevolxml2xmlin/vol-qcow2-1.1.xml
create mode 100644 tests/storagevolxml2xmlin/vol-qcow2-lazy.xml
create mode 100644 tests/storagevolxml2xmlout/vol-qcow2-1.1.xml
create mode 100644 tests/storagevolxml2xmlout/vol-qcow2-lazy.xml
--
1.8.1.5