[virt-tools-list] [virt-manager PATCH v2 3/3] addhardware: Add SCSI persistent reservation support for LUN Passthrough
Lin Ma
lma at suse.com
Wed Oct 10 09:50:35 UTC 2018
Signed-off-by: Lin Ma <lma at suse.com>
---
ui/addhardware.ui | 24 ++++++++++++++++++++++++
virtManager/addhardware.py | 9 +++++++++
2 files changed, 33 insertions(+)
diff --git a/ui/addhardware.ui b/ui/addhardware.ui
index dffcf8c6..b6ac8912 100644
--- a/ui/addhardware.ui
+++ b/ui/addhardware.ui
@@ -328,6 +328,30 @@
<property name="top_attach">3</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="disk-pr-label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="halign">end</property>
+ <property name="label" translatable="yes">Persistent _Reservations:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">disk-pr-checkbox</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="disk-pr-checkbox">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
</object>
</child>
<child type="label">
diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py
index f2d7a5b0..a5ed44e0 100644
--- a/virtManager/addhardware.py
+++ b/virtManager/addhardware.py
@@ -849,6 +849,11 @@ class vmmAddHardware(vmmGObjectUI):
self.widget("storage-devtype"))
self._refresh_disk_bus(devtype)
+ # Reset the status of disk-pr-checkbox to inactive
+ self.widget("disk-pr-checkbox").set_active(False)
+ is_lun = devtype == "lun"
+ uiutil.set_grid_row_visible(self.widget("disk-pr-checkbox"), is_lun)
+
allow_create = devtype not in ["cdrom", "floppy"]
self.addstorage.widget("storage-create-box").set_sensitive(
allow_create)
@@ -1202,6 +1207,8 @@ class vmmAddHardware(vmmGObjectUI):
self.widget("storage-discard"))
detect_zeroes = uiutil.get_list_selection(
self.widget("storage-detect-zeroes"))
+ if device == "lun":
+ reservations_managed = self.widget("disk-pr-checkbox").get_active()
controller_model = None
if (bus == "scsi" and
@@ -1232,6 +1239,8 @@ class vmmAddHardware(vmmGObjectUI):
disk.driver_discard = discard
if detect_zeroes:
disk.driver_detect_zeroes = detect_zeroes
+ if device == "lun" and reservations_managed:
+ disk.reservations_managed = "yes"
# Generate target
disks = (self.vm.xmlobj.devices.disk +
--
2.19.0
More information about the virt-tools-list
mailing list