Support updating device's(support cdrom, disk and network) bootindex
online in virDomainUpdateDeviceFlags. The new bootindex will take effect
after guest rebooting. Enable bootindex can be set to 0, it means cancel
the device's bootindex.
To use this feature, we need to get the device's xml first and modify
the boot order in the xml, then use 'virsh update-device <domain> <xml>
--flag' to update the bootindex. Note that the flag should be --config
or --persistent if the vm is running.
Jiang Jiacheng (7):
qemu: Introduce qemuDomainChangeBootIndex to update device's bootindex
qemu: Marking a device's bootindex can be changed
qemu: check the bootIndex could be changed or not
qemu: Support update disk's bootindex
qemu: Support update net's bootindex
qemu: Support set bootindex to 0 to cancel bootindex setting
test: add a test for bootIndex = 0 provided by the user
diff to v2:
* improve function description and commit message
* move functions in qemu_conf.c to qemu_domain.c
* add a test for bootindex = 0 provided by user
* fix a bug in logical of checking bootindex
src/conf/device_conf.h | 3 +
src/conf/domain_conf.c | 10 ++-
src/conf/domain_postparse.c | 8 ++-
src/conf/schemas/domaincommon.rng | 2 +-
src/qemu/qemu_conf.c | 41 +++++++++++
src/qemu/qemu_conf.h | 5 ++
src/qemu/qemu_domain.c | 69 +++++++++++++++++-
src/qemu/qemu_domain.h | 9 +++
src/qemu/qemu_driver.c | 32 +++++++++
src/qemu/qemu_hotplug.c | 17 +++--
src/qemu/qemu_monitor.c | 12 ++++
src/qemu/qemu_monitor.h | 6 ++
src/qemu/qemu_monitor_json.c | 22 ++++++
src/qemu/qemu_monitor_json.h | 6 ++
tests/qemuxml2argvdata/boot-order-set-0.xml | 72 +++++++++++++++++++
tests/qemuxml2xmloutdata/boot-order-set-0.xml | 72 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
17 files changed, 376 insertions(+), 11 deletions(-)
create mode 100644 tests/qemuxml2argvdata/boot-order-set-0.xml
create mode 100644 tests/qemuxml2xmloutdata/boot-order-set-0.xml
--
2.33.0