• E
    conf: restrict external snapshots to backing store formats · db7d7c0e
    Eric Blake 提交于
    Domain snapshots should only permit an external snapshot into
    a storage format that permits a backing chain, since the new
    snapshot file necessarily must be backed by the existing file.
    The C code for the qemu driver is a little bit stricter in
    currently enforcing only qcow2 or qed, but at the XML parser
    level, including virt-xml-validate, it is fairly easy to
    enforce that a user can't request a 'raw' external snapshot.
    
    * docs/schemas/storagecommon.rng (storageFormat): Split out...
    (storageFormatBacking): ...new sublist.
    * docs/schemas/domainsnapshot.rng (disksnapshotdriver): Use new
    type.
    * src/util/virstoragefile.h (virStorageFileFormat): Rearrange for
    easier code management.
    * src/util/virstoragefile.c (virStorageFileFormat, fileTypeInfo):
    Likewise.
    * src/conf/snapshot_conf.c (virDomainSnapshotDiskDefParseXML): Use
    new marker to limit selection of formats.
    Signed-off-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
    db7d7c0e
virstoragefile.c 50.9 KB