[gnome-boxes] Mark CD-ROM device as optional after installation
- From: Zeeshan Ali Khattak <zeeshanak src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-boxes] Mark CD-ROM device as optional after installation
- Date: Tue, 17 Apr 2012 17:23:51 +0000 (UTC)
commit 7e46c24a44f05faf2a439df538d69b0116da03e9
Author: Zeeshan Ali (Khattak) <zeeshanak gnome org>
Date: Thu Apr 12 05:54:56 2012 +0300
Mark CD-ROM device as optional after installation
This is done to tell libvirt/qemu to not panic if ISO file/device is
unavailable after OS installation.
https://bugzilla.gnome.org/show_bug.cgi?id=673856
configure.ac | 2 +-
src/vm-configurator.vala | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 9edf67c..b1e4268 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,7 @@ GOBJECT_INTROSPECTION_MIN_VERSION=0.9.6
GTK_MIN_VERSION=3.3.5
GTK_VNC_MIN_VERSION=0.4.4
LIBVIRT_GLIB_MIN_VERSION=0.0.6
-LIBVIRT_GCONFIG_MIN_VERSION=0.0.7
+LIBVIRT_GCONFIG_MIN_VERSION=0.0.8
LIBXML2_MIN_VERSION=2.7.8
SPICE_GTK_MIN_VERSION=0.9
GUDEV_MIN_VERSION=165
diff --git a/src/vm-configurator.vala b/src/vm-configurator.vala
index 2d300f0..5f290e4 100644
--- a/src/vm-configurator.vala
+++ b/src/vm-configurator.vala
@@ -85,6 +85,19 @@ private class Boxes.VMConfigurator {
} catch (GLib.Error error) { assert_not_reached (); /* We are so screwed if this happens */ }
set_os_config (domain);
domain.set_lifecycle (DomainLifecycleEvent.ON_REBOOT, DomainLifecycleAction.RESTART);
+
+ // Make source (installer/live media) optional
+ var devices = domain.get_devices ();
+ foreach (var device in devices) {
+ if (!(device is DomainDisk))
+ continue;
+
+ var disk = device as DomainDisk;
+ if (disk.get_guest_device_type () == DomainDiskGuestDeviceType.CDROM)
+ disk.set_startup_policy (DomainDiskStartupPolicy.OPTIONAL);
+ }
+
+ domain.set_devices (devices);
}
public bool is_install_config (Domain domain) {
@@ -150,6 +163,7 @@ private class Boxes.VMConfigurator {
disk.set_source (install_media.device_file);
disk.set_target_dev ("hdc");
disk.set_target_bus (DomainDiskBus.IDE);
+ disk.set_startup_policy (DomainDiskStartupPolicy.MANDATORY);
if (install_media.from_image)
disk.set_type (DomainDiskType.FILE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]