• E
    backup: Parse and output checkpoint XML · 1a4df34a
    Eric Blake 提交于
    Add a new file checkpoint_conf.c that performs the translation to and
    from new XML describing a checkpoint. The code shares a common base
    class with snapshots, since a checkpoint similarly represents the
    domain state at a moment in time. Add some basic testing of round trip
    XML handling through the new code.
    
    Of note - this code intentionally differs from snapshots in that XML
    schema validation is unconditional, rather than based on a public API
    flag.  We have many existing interfaces that still need to add a flag
    for opt-in schema validation, but those interfaces have existing
    clients that may not have been producing strictly-compliant XML, or we
    may still uncover bugs where our RNG grammar is inconsistent with our
    code (where omitting the opt-in flag allows existing apps to keep
    working while waiting for an RNG patch).  But since checkpoints are
    brand-new, it's easier to ensure the code matches the schema by always
    using the schema.  If needed, a later patch could extend the API and
    add a flag to turn on to request schema validation, rather than having
    it forced (possibly just the validation of the <domain> sub-element
    during REDEFINE) - but if a user encounters XML that looks like it
    should be good but fails to validate with our RNG schema, they would
    either have to upgrade to a new libvirt that adds the new flag, or
    upgrade to a new libvirt that fixes the RNG schema, which implies
    adding such a flag won't help much.
    
    Also, the redefine flag requires the <domain> sub-element to be
    present, rather than catering to historical back-compat to older
    versions.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    1a4df34a
POTFILES 7.9 KB