[libvirt] [RFC PATCH 0/n] Glue domain and storage

Osier Yang jyang at redhat.com
Wed Jan 23 11:04:32 UTC 2013


This is the 4th part to implement NPIV migration support [1].

Part 1:
  https://www.redhat.com/archives/libvir-list/2013-January/msg00859.html

Part 2: (Already ACKed by Michal)
  https://www.redhat.com/archives/libvir-list/2013-January/msg00859.html

Part 3:
  https://www.redhat.com/archives/libvir-list/2013-January/msg01012.html

This set is based on above 3 ones.

The subject "Glue domain and storage" is a bit bigger than what this
series does. This set only tries to support using the storage for
domain disks. And the storage might be further used by disk backing
chains, or future scsi-host passthrough, etc, if the pricinple is
correct. However, this can setup the basis, which can be extended
for future stuffs.

This introduces new XMLs to specify the disk source with storage like
(See PATCH 3/n for more details):

  <disk type='file' device='disk'>
    <driver name='qemu' type='raw' cache='none'/>
    <source type='pool'>
      <pool uuid|name="$var"/>
      <volume name|path|key='$var'/>
      <seclabel relabel='no'/>
    </source>
    <target dev='vdb' bus='virtio'/>
  </disk>

And before domain starting, the source represented by storage is
translated into the real underlying source.

Disk of type 'network' is not supported yet. But I'd like post the
patches as soon as possible to make sure I'm not on the wrong road.

Osier Yang (6):
  eng: Remove the duplicate definition
  rng: Change the datatype for volume name for common use
  Introduce new XMLs to specify disk source using storage pool/vol
  New files to glue domain and storage together
  Implement translateDiskSourcePool
  qemu: Translate the source when starting domain

 docs/formatdomain.html.in                          |   31 ++-
 docs/schemas/basictypes.rng                        |    6 +
 docs/schemas/domaincommon.rng                      |  156 +++++---
 docs/schemas/storagepool.rng                       |   10 +-
 docs/schemas/storagevol.rng                        |    8 +-
 src/Makefile.am                                    |    3 +-
 src/conf/domain_conf.c                             |  426 ++++++++++++++++----
 src/conf/domain_conf.h                             |   46 +++
 src/conf/domain_storage.c                          |   45 ++
 src/conf/domain_storage.h                          |   37 ++
 src/libvirt_private.syms                           |    6 +
 src/qemu/qemu_driver.c                             |    7 +
 src/storage/storage_driver.c                       |  207 ++++++++++
 .../qemuxml2argv-disk-source-pool.xml              |   36 ++
 tests/qemuxml2xmltest.c                            |    1 +
 15 files changed, 865 insertions(+), 160 deletions(-)
 create mode 100644 src/conf/domain_storage.c
 create mode 100644 src/conf/domain_storage.h
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.xml

[1] https://www.redhat.com/archives/libvir-list/2012-November/msg00826.html

Regards,
Osier




More information about the libvir-list mailing list