[virt-manager PATCH v2 3/3] addhardware: Add SCSI persistent reservation support for LUN Passthrough

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Lin Ma <lma@xxxxxxxx>
---
 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

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list



[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux