The boot once options seems to have gotten broken since it originally went in. We need to wait until the second time restore_boot_devices() gets called before restoring the standard boot order and removing itself from the reset list.
Signed-off-by: Alex Williamson <alex.william...@redhat.com> -- diff --git a/vl.c b/vl.c index a485c58..2fabc7e 100644 --- a/vl.c +++ b/vl.c @@ -1193,6 +1193,13 @@ static void validate_bootdevices(char *devices) static void restore_boot_devices(void *opaque) { char *standard_boot_devices = opaque; + static int first = 1; + + /* Restore boot order and remove ourselves after the first boot */ + if (first) { + first = 0; + return; + } qemu_boot_set(standard_boot_devices);