Currently, boot order can be specified per device class but there is no
way to specify exact disk/NIC device to boot from. This patchset fixes
that.
There were two options suggested for how this should be modeled in
domain XML:
1)
<os>
<boot target='net1'/>
<boot target='net0'/>
<boot target='hdc'/>
<boot target='hdb'/>
<os>
Where target attributes would match /domain/devices/*/target@dev
2) Adding <boot order='n'/> elements into appropriate device elements.
In addition to the two options Rich suggested a more compact variant of
option 1.
Per former discussion this patchset implements the second option.
Jiri Denemark (5):
conf: Move boot parsing into a separate function
Introduce per-device boot element
qemu: Refactor qemuCapsParsePCIDeviceStrs using virCommand
qemu: Support per-device boot ordering
tests: Add tests for per-device boot elements
docs/formatcaps.html.in | 1 +
docs/formatdomain.html.in | 41 +++++-
docs/schemas/domain.rng | 20 +++-
src/conf/capabilities.c | 3 +-
src/conf/domain_conf.c | 148 ++++++++++++++------
src/conf/domain_conf.h | 2 +
src/qemu/qemu_capabilities.c | 82 +++++++----
src/qemu/qemu_capabilities.h | 1 +
src/qemu/qemu_command.c | 15 ++-
src/qemu/qemu_command.h | 6 +-
src/qemu/qemu_driver.c | 2 +
src/qemu/qemu_hotplug.c | 8 +-
.../qemuxml2argvdata/qemuxml2argv-boot-order.args | 1 +
tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml | 44 ++++++
tests/qemuxml2argvtest.c | 2 +
tests/qemuxml2xmltest.c | 1 +
16 files changed, 291 insertions(+), 86 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-boot-order.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-boot-order.xml
--
1.7.4.rc1