Part of extending the domain XML to show an entire backing chain is splitting the RelaxNG definitions so that the portion related to a single source within the chain can easily be reused. I'm still debating about the way to handle storage volumes using <format type='qcow2'/> vs. domain disks using <driver name='qcow2' type='qcow2'/>. The majority of the <driver> attributes are associated with the one disk device presented to the guest, rather than attributes for a file in the chain. So I'm thinking of having domain disks add a new <format> element; where we output the format under both elements but accept either spelling for new input (back-compat reasons require that we always provide the old spelling). Eric Blake (6): conf: create common storage RNG grammar file conf: better <disk> interleaving in schema conf: tighten <domainsnapshot> schema conf: split <disk> schema into more pieces conf: move storage source details to common RNG file conf: move <auth> and <encryption> to disk source docs/schemas/Makefile.am | 5 +- docs/schemas/domain.rng | 15 +- docs/schemas/domaincommon.rng | 268 ++---------------- docs/schemas/domainsnapshot.rng | 85 +++--- docs/schemas/storagecommon.rng | 312 +++++++++++++++++++++ docs/schemas/storageencryption.rng | 33 --- docs/schemas/storagefilefeatures.rng | 24 -- docs/schemas/storagevol.rng | 3 +- .../qemuxml2argv-disk-drive-discard.xml | 8 +- .../qemuxml2argv-disk-source-pool.xml | 12 +- .../qemuxml2xmlout-disk-drive-discard.xml | 37 +++ .../qemuxml2xmlout-disk-source-pool.xml | 44 +++ tests/qemuxml2xmltest.c | 4 +- 13 files changed, 477 insertions(+), 373 deletions(-) create mode 100644 docs/schemas/storagecommon.rng delete mode 100644 docs/schemas/storageencryption.rng delete mode 100644 docs/schemas/storagefilefeatures.rng create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-drive-discard.xml create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-source-pool.xml -- 1.9.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list