It is added only in the details window, and intentionally not added to the addhardware UI to keep it simpler. Users can edit this after a new device is added. Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> --- ui/details.ui | 63 +++++++++++++++++++++++++++++++++++++------------- virtManager/details.py | 24 ++++++++++++++++++- virtManager/domain.py | 5 +++- 3 files changed, 74 insertions(+), 18 deletions(-) diff --git a/ui/details.ui b/ui/details.ui index 6804124..1a0c9d3 100644 --- a/ui/details.ui +++ b/ui/details.ui @@ -3709,22 +3709,6 @@ if you know what you are doing.</small></property> <property name="row_spacing">3</property> <property name="column_spacing">8</property> <child> - <object class="GtkLabel" id="label30"> - <property name="visible">True</property> - <property name="can_focus">False</property> - <property name="xalign">1</property> - <property name="yalign">0</property> - <property name="ypad">4</property> - <property name="label" translatable="yes">Storage forma_t:</property> - <property name="use_underline">True</property> - <property name="mnemonic_widget">storage-format-combobox-entry</property> - </object> - <packing> - <property name="left_attach">0</property> - <property name="top_attach">2</property> - </packing> - </child> - <child> <object class="GtkLabel" id="label32"> <property name="visible">True</property> <property name="can_focus">False</property> @@ -3848,6 +3832,53 @@ if you know what you are doing.</small></property> </object> <packing> <property name="left_attach">1</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label30"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">1</property> + <property name="yalign">0</property> + <property name="ypad">4</property> + <property name="label" translatable="yes">Storage forma_t:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">storage-format-combobox-entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">3</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label66"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="xalign">1</property> + <property name="label" translatable="yes">_SGIO:</property> + <property name="use_underline">True</property> + <property name="mnemonic_widget">disk-sgio-entry</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">2</property> + </packing> + </child> + <child> + <object class="GtkComboBox" id="disk-sgio"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="has_entry">True</property> + <child internal-child="entry"> + <object class="GtkEntry" id="disk-sgio-entry"> + <property name="can_focus">True</property> + <signal name="changed" handler="on_disk_sgio_entry_changed" swapped="no"/> + </object> + </child> + </object> + <packing> + <property name="left_attach">1</property> <property name="top_attach">2</property> </packing> </child> diff --git a/virtManager/details.py b/virtManager/details.py index c22417e..7d854b9 100644 --- a/virtManager/details.py +++ b/virtManager/details.py @@ -75,6 +75,7 @@ EDIT_DISK_BUS, EDIT_DISK_SERIAL, EDIT_DISK_FORMAT, EDIT_DISK_IOTUNE, +EDIT_DISK_SGIO, EDIT_SOUND_MODEL, @@ -104,7 +105,7 @@ EDIT_FS, EDIT_HOSTDEV_ROMBAR, -) = range(1, 45) +) = range(1, 46) # Columns in hw list model @@ -499,6 +500,7 @@ class vmmDetails(vmmGObjectUI): "on_disk_format_changed": self.disk_format_changed, "on_disk_serial_changed": lambda *x: self.enable_apply(x, EDIT_DISK_SERIAL), "on_disk_iotune_changed": self.iotune_changed, + "on_disk_sgio_entry_changed": lambda *x: self.enable_apply(x, EDIT_DISK_SGIO), "on_network_model_combo_changed": lambda *x: self.enable_apply(x, EDIT_NET_MODEL), @@ -2124,6 +2126,10 @@ class vmmDetails(vmmGObjectUI): if self.edited(EDIT_DISK_SERIAL): kwargs["serial"] = self.get_text("disk-serial") + if self.edited(EDIT_DISK_SGIO): + sgio = uiutil.get_combo_entry(self.widget("disk-sgio")) + kwargs["sgio"] = sgio + if self.edited(EDIT_DISK_IOTUNE): kwargs["iotune_rbs"] = int( self.widget("disk-iotune-rbs").get_value() * 1024) @@ -2597,6 +2603,15 @@ class vmmDetails(vmmGObjectUI): ignore, upper = maxmem.get_range() maxmem.set_range(curmem.get_value(), upper) + @staticmethod + def build_disk_sgio(vm, combo): + ignore = vm + model = Gtk.ListStore(str, str) + combo.set_model(model) + uiutil.set_combo_text_column(combo, 1) + model.append([None, "default"]) + model.append(["filtered", "filtered"]) + model.append(["unfiltered", "unfiltered"]) def refresh_disk_page(self): disk = self.get_hw_selection(HW_LIST_COL_DEVICE) @@ -2675,6 +2690,13 @@ class vmmDetails(vmmGObjectUI): self.widget("disk-removable").set_active(removable) uiutil.set_grid_row_visible(self.widget("disk-removable"), can_set_removable) + + is_lun = disk.device == virtinst.VirtualDisk.DEVICE_LUN + uiutil.set_grid_row_visible(self.widget("disk-sgio"), is_lun) + if is_lun: + self.build_disk_sgio(self.vm, self.widget("disk-sgio")) + uiutil.set_combo_entry(self.widget("disk-sgio"), disk.sgio) + self.widget("disk-size").set_text(size) uiutil.set_combo_entry(self.widget("disk-cache"), cache) uiutil.set_combo_entry(self.widget("disk-io"), io) diff --git a/virtManager/domain.py b/virtManager/domain.py index 66b4142..a83bc96 100644 --- a/virtManager/domain.py +++ b/virtManager/domain.py @@ -715,7 +715,8 @@ class vmmDomain(vmmLibvirtObject): shareable=_SENTINEL, removable=_SENTINEL, cache=_SENTINEL, io=_SENTINEL, driver_type=_SENTINEL, bus=_SENTINEL, addrstr=_SENTINEL, iotune_rbs=_SENTINEL, iotune_ris=_SENTINEL, iotune_tbs=_SENTINEL, - iotune_tis=_SENTINEL, iotune_wbs=_SENTINEL, iotune_wis=_SENTINEL): + iotune_tis=_SENTINEL, iotune_wbs=_SENTINEL, iotune_wis=_SENTINEL, + sgio=_SENTINEL): def _change_bus(editdev): oldprefix = editdev.get_target_prefix()[0] oldbus = editdev.bus @@ -776,6 +777,8 @@ class vmmDomain(vmmLibvirtObject): editdev.iotune_wbs = iotune_wbs if iotune_wis != _SENTINEL: editdev.iotune_wis = iotune_wis + if sgio != _SENTINEL: + editdev.sgio = sgio or None if bus != _SENTINEL: _change_bus(editdev) -- 2.1.0 _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list