[libvirt] [PATCH v2 05/10] conf: alter disk mirror xml output

Peter Krempa pkrempa at redhat.com
Fri Jun 6 11:36:16 UTC 2014


On 06/06/14 00:52, Eric Blake wrote:
> Now that we track a disk mirror as a virStorageSource, we might
> as well update the XML to theoretically allow any type of
> mirroring destination (not just a local file).  A later patch
> will also be reusing <mirror> to track the block commit of the
> top layer of a chain, which is another case where libvirt needs
> to update the backing chain after the job is finally pivoted,
> and since backing chains can have network backing files as the
> destination to commit into, it makes more sense to display that
> in the XML.
> 
> This patch changes output-only XML; it was already documented
> that <mirror> does not affect a domain definition at this point
> (because qemu doesn't provide persistent bitmaps yet).  Any
> application that was starting a block copy job with older libvirt
> and then relying on the domain XML to determine if it was
> complete will no longer be able to access the file= and format=
> attributes of mirror that were previously used.  However, this is
> not going to be a problem in practice: the only time a block copy
> job works is on a transient domain, and any app that is managing
> a transient domain probably already does enough of its own
> bookkeeping to know which file it is mirroring into without
> having to re-read it from the libvirt XML.  The one thing that

Hmm, although the change is externally visible I agree that it shouldn't
be a problem.

> was likely to be used in a mirroring job was the ready=
> attribute, which is unchanged.  Meanwhile, I made sure the schema
> and parser still accept the old format, even if we no longer
> output it, so that upgrading from an older version of libvirt is
> seamless.
> 
> * docs/schemas/domaincommon.rng (diskMirror): Alter definition.
> * src/conf/domain_conf.c (virDomainDiskDefParseXML): Parse two
> styles of mirror elements.
> (virDomainDiskDefFormat): Output new style.
> * tests/qemuxml2argvdata/qemuxml2argv-disk-mirror-old.xml: New
> file, copied from...
> * tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml: ...here
> before modernizing.
> * tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old*: New
> files.
> * tests/qemuxml2xmltest.c (mymain): Test both styles.
> 
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
>  docs/formatdomain.html.in                          | 20 +++++--
>  docs/schemas/domaincommon.rng                      | 29 ++++++---
>  src/conf/domain_conf.c                             | 69 ++++++++++++++++------
>  .../qemuxml2argv-disk-mirror-old.xml               | 47 +++++++++++++++
>  .../qemuxml2argvdata/qemuxml2argv-disk-mirror.xml  |  9 ++-
>  .../qemuxml2xmlout-disk-mirror-old-inactive.xml    | 41 +++++++++++++
>  .../qemuxml2xmlout-disk-mirror-old.xml             | 52 ++++++++++++++++
>  tests/qemuxml2xmltest.c                            |  1 +
>  8 files changed, 235 insertions(+), 33 deletions(-)
>  create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-mirror-old.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old-inactive.xml
>  create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-mirror-old.xml
> 

ACK,

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140606/999b4d4d/attachment-0001.sig>


More information about the libvir-list mailing list