• E
    snapshot: add <disks> to snapshot xml · d6f6b2d1
    Eric Blake 提交于
    Adds an optional element to <domainsnapshot>, which will be used
    to give user control over external snapshot filenames on input,
    and specify generated filenames on output.
    
    For now, no driver accepts this element; that will come later.
    
    <domainsnapshot>
      ...
      <disks>
        <disk name='vda' snapshot='no'/>
        <disk name='vdb' snapshot='internal'/>
        <disk name='vdc' snapshot='external'>
          <driver type='qcow2'/>
          <source file='/path/to/new'/>
        </disk>
      </disks>
      <domain>
        ...
        <devices>
          <disk ...>
            <driver name='qemu' type='raw'/>
            <target dev='vdc'/>
            <source file='/path/to/old'/>
          </disk>
        </devices>
      </domain>
    </domainsnapshot>
    
    * src/conf/domain_conf.h (_virDomainSnapshotDiskDef): New type.
    (_virDomainSnapshotDef): Add new elements.
    (virDomainSnapshotAlignDisks): New prototype.
    * src/conf/domain_conf.c (virDomainSnapshotDiskDefClear)
    (virDomainSnapshotDiskDefParseXML, disksorter)
    (virDomainSnapshotAlignDisks): New functions.
    (virDomainSnapshotDefParseString): Parse new fields.
    (virDomainSnapshotDefFree): Clean them up.
    (virDomainSnapshotDefFormat): Output them.
    * src/libvirt_private.syms (domain_conf.h): Export new function.
    * docs/schemas/domainsnapshot.rng (domainsnapshot, disksnapshot):
    Add more xml.
    * docs/formatsnapshot.html.in: Document it.
    * tests/domainsnapshotxml2xmlin/disk_snapshot.xml: New test.
    * tests/domainsnapshotxml2xmlout/disk_snapshot.xml: Update.
    d6f6b2d1
formatsnapshot.html.in 12.8 KB