mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-01-08 21:18:04 +03:00
virt-manager: Allow to change SGIO with LUN disk devices
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@redhat.com>
This commit is contained in:
parent
31836e2b5d
commit
61e06856a3
@ -3708,22 +3708,6 @@ if you know what you are doing.</small></property>
|
||||
<property name="can_focus">False</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>
|
||||
@ -3846,6 +3830,53 @@ if you know what you are doing.</small></property>
|
||||
</packing>
|
||||
</child>
|
||||
</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>
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user