This is the 4th part to implement NPIV migration support [1].
Part 1 and part 2 are pushed.
Part 3 (v3: pending for review):
https://www.redhat.com/archives/libvir-list/2013-March/msg01440.html
======
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, and disk attaching/updating, the source represented
by storage is translated into the real underlying storage volume.
Future work:
* Support network volume
* Support disk backing chain?
v1 - v2:
* Invoke storage APIs to translate the source directly in qemu driver
* 1/8 in v1 is pushed.
* 2/8 in v1 is splitted (the code refactoring now is a standalone patch)
* Support shared disk for volume type disk
* Support sgio setting for volume type disk
* No network volume support in v2
RFC - v1:
* 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 (8):
conf: New helper virDomainDiskSourceDefFormat to format the disk
source
Introduce new XMLs to specify disk source using libvirt storage
qemu: Translate the pool disk source when building drive string
Support startupPolicy for 'volume' disk
Support seclabels for volume type disk
qemu: Translate the pool disk source earlier
qemu: Support shareable volume type disk
qemu: Support sgio setting for volume type disk
docs/formatdomain.html.in | 28 ++-
docs/schemas/domaincommon.rng | 24 ++
src/conf/domain_conf.c | 274 ++++++++++++++-------
src/conf/domain_conf.h | 10 +
src/qemu/qemu_command.c | 32 +++
src/qemu/qemu_command.h | 1 -
src/qemu/qemu_conf.c | 68 ++++-
src/qemu/qemu_conf.h | 3 +
src/qemu/qemu_domain.c | 4 +-
src/qemu/qemu_driver.c | 16 +-
src/qemu/qemu_process.c | 14 +-
.../qemuxml2argv-disk-source-pool.xml | 37 +++
tests/qemuxml2xmltest.c | 1 +
13 files changed, 406 insertions(+), 106 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-source-pool.xml
--
1.8.1.4