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
To achieve the NPIV migration support, Part 2, Part 3 and this set are
necessary, Part 1 is optional. However, this set can be reviewd independantly.
============
This introduces new XMLs to specify the disk source with storage like
<disk type='volume' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source pool="$pool_name" volume='$vol_name'/>
<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.
Diff with RFC:
* The XMLs are more simpler - only using pool name and volume
name to specify disk source.
* Support network pool (rbd, and sheepdog)
* Support startupPolicy for volume type disk
* Support seclabels for volume type disk
* Fix bugs on disk source formating
Osier Yang (9):
rng: Add definition for network disk source
Introduce new XMLs to specify disk source using libvirt storage
New files to glue domain and storage together
Implement translateDiskSourcePool
qemu: Translate the source when starting domain
Support startupPolicy for 'volume' disk
conf: Fix bugs on disk source formating
Support seclabels for volume type disk
Support network pool for volume disk
docs/formatdomain.html.in | 49 +++--
docs/schemas/domaincommon.rng | 111 +++++---
src/Makefile.am | 3 +-
src/conf/domain_conf.c | 278 ++++++++++++++------
src/conf/domain_conf.h | 9 +
src/conf/domain_storage.c | 44 +++
src/conf/domain_storage.h | 37 +++
src/libvirt_private.syms | 5 +
src/qemu/qemu_driver.c | 7 +
src/storage/storage_driver.c | 144 ++++++++++
.../qemuxml2argv-disk-source-pool.xml | 33 +++
tests/qemuxml2xmltest.c | 1 +
12 files changed, 573 insertions(+), 148 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
Osier