• E
    snapshot: also support disks by path · 89b6284f
    Eric Blake 提交于
    I got confused when 'virsh domblkinfo dom disk' required the
    path to a disk (which can be ambiguous, since a single file
    can back multiple disks), rather than the unambiguous target
    device name that I was using in disk snapshots.  So, in true
    developer fashion, I went for the best of both worlds - all
    interfaces that operate on a disk (aka block) now accept
    either the target name or the unambiguous path to the backing
    file used by the disk.
    
    * src/conf/domain_conf.h (virDomainDiskIndexByName): Add
    parameter.
    (virDomainDiskPathByName): New prototype.
    * src/libvirt_private.syms (domain_conf.h): Export it.
    * src/conf/domain_conf.c (virDomainDiskIndexByName): Also allow
    searching by path, and decide whether ambiguity is okay.
    (virDomainDiskPathByName): New function.
    (virDomainDiskRemoveByName, virDomainSnapshotAlignDisks): Update
    callers.
    * src/qemu/qemu_driver.c (qemudDomainBlockPeek)
    (qemuDomainAttachDeviceConfig, qemuDomainUpdateDeviceConfig)
    (qemuDomainGetBlockInfo, qemuDiskPathToAlias): Likewise.
    * src/qemu/qemu_process.c (qemuProcessFindDomainDiskByPath):
    Likewise.
    * src/libxl/libxl_driver.c (libxlDomainAttachDeviceDiskLive)
    (libxlDomainDetachDeviceDiskLive, libxlDomainAttachDeviceConfig)
    (libxlDomainUpdateDeviceConfig): Likewise.
    * src/uml/uml_driver.c (umlDomainBlockPeek): Likewise.
    * src/xen/xend_internal.c (xenDaemonDomainBlockPeek): Likewise.
    * docs/formatsnapshot.html.in: Update documentation.
    * tools/virsh.pod (domblkstat, domblkinfo): Likewise.
    * docs/schemas/domaincommon.rng (diskTarget): Tighten pattern on
    disk targets.
    * docs/schemas/domainsnapshot.rng (disksnapshot): Update to match.
    * tests/domainsnapshotxml2xmlin/disk_snapshot.xml: Update test.
    89b6284f
xend_internal.c 115.5 KB