WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel][PATCH]Fix bug that incorrect mac address is saved into VM co

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel][PATCH]Fix bug that incorrect mac address is saved into VM config info and causes VM fail to restart
From: "Chun Yan Liu" <cyliu@xxxxxxxxxx>
Date: Mon, 21 Jun 2010 21:04:04 -0600
Delivery-date: Mon, 21 Jun 2010 20:05:11 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx

Check "mac" address sooner in device_create function, before doing device_add.


In XendDomainInfo.py device_create function, when device type is "vif", it has a paragraph to check the validity of "mac" address. Before checking validity, device_add has been done. But after checking validity, if the mac address is invlid, it raises VmError and exits directly without doing clean work like removing the device item from config info. This will cause that the incorrect mac address is saved into VM Config file and VM fails to restart. If check "mac" validity before doing device_add, there will be no problem.


Signed-off-by Chunyan Liu <CYLiu@xxxxxxxxxx>


diff -r 71bb47f16ec8 tools/python/xen/xend/XendDomainInfo.py

--- a/tools/python/xen/xend/XendDomainInfo.pyFri Jun 18 15:53:05 2010 +0800

+++ b/tools/python/xen/xend/XendDomainInfo.pyTue Jun 22 10:34:10 2010 +0800

@@ -851,9 +851,6 @@

         """

         log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config))

         dev_type = sxp.name(dev_config)

-        dev_uuid = self.info.device_add(dev_type, cfg_sxp = dev_config)

-        dev_config_dict = self.info['devices'][dev_uuid][1]

-        log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config_dict))

 

         if dev_type == 'vif':

             for x in dev_config:

@@ -862,6 +859,10 @@

                         log.error("Virtual network interface creation error - invalid MAC Address entered: %s", x[1])

                         raise VmError("Cannot create a new virtual network interface - MAC address is not valid!");

 

+        dev_uuid = self.info.device_add(dev_type, cfg_sxp = dev_config)

+        dev_config_dict = self.info['devices'][dev_uuid][1]

+        log.debug("XendDomainInfo.device_create: %s" % scrub_password(dev_config_dict))

+

         if self.domid is not None:

             try:

                 dev_config_dict['devid'] = devid = \

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>