[PATCH virt-manager 11/14] domain: convert _change_boot_order to a instance method

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

 



This avoids the access of non-local variables of the closure.

Signed-off-by: Marc Hartmayer <mhartmay@xxxxxxxxxxxxx>
Reviewed-by: Boris Fiuczynski <fiuczy@xxxxxxxxxxxxx>
---
 virtManager/domain.py | 52 +++++++++++++++++++++----------------------
 1 file changed, 26 insertions(+), 26 deletions(-)

diff --git a/virtManager/domain.py b/virtManager/domain.py
index 4fcc716eddf7..1577b213f533 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -575,37 +575,37 @@ class vmmDomain(vmmLibvirtObject):
 
         self._redefine_xmlobj(guest)
 
+    def __use_device_boot_order(self, boot_order, guest):
+        boot_dev_order = []
+        devmap = dict((dev.get_xml_id(), dev) for dev in
+                      self.get_bootable_devices())
+        for b in boot_order:
+            if b in devmap:
+                boot_dev_order.append(devmap[b])
+
+        # Unset the traditional boot order
+        guest.os.bootorder = []
+
+        # Unset device boot order
+        for dev in guest.devices.get_all():
+            dev.boot.order = None
+
+        count = 1
+        for origdev in boot_dev_order:
+            dev = self._lookup_device_to_define(guest, origdev, False)
+            if not dev:
+                continue
+            dev.boot.order = count
+            count += 1
+
     def define_boot(self, boot_order=_SENTINEL, boot_menu=_SENTINEL,
-            kernel=_SENTINEL, initrd=_SENTINEL, dtb=_SENTINEL,
-            kernel_args=_SENTINEL, init=_SENTINEL, initargs=_SENTINEL):
+                    kernel=_SENTINEL, initrd=_SENTINEL, dtb=_SENTINEL,
+                    kernel_args=_SENTINEL, init=_SENTINEL, initargs=_SENTINEL):
 
         guest = self._make_xmlobj_to_define()
-        def _change_boot_order():
-            boot_dev_order = []
-            devmap = dict((dev.get_xml_id(), dev) for dev in
-                          self.get_bootable_devices())
-            for b in boot_order:
-                if b in devmap:
-                    boot_dev_order.append(devmap[b])
-
-            # Unset the traditional boot order
-            guest.os.bootorder = []
-
-            # Unset device boot order
-            for dev in guest.devices.get_all():
-                dev.boot.order = None
-
-            count = 1
-            for origdev in boot_dev_order:
-                dev = self._lookup_device_to_define(guest, origdev, False)
-                if not dev:
-                    continue
-                dev.boot.order = count
-                count += 1
-
         if boot_order != _SENTINEL:
             if self.can_use_device_boot_order():
-                _change_boot_order()
+                self.__use_device_boot_order(boot_order, guest)
             else:
                 guest.os.bootorder = boot_order
 
-- 
2.17.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