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

[Xen-changelog] [xen-unstable] xend: Properly save/restore vnc/vfb configuration



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1238495018 -3600
# Node ID b89a9e97bd394bd5af3c5866c96bca1879aee14e
# Parent  b8d2f08f98d035059dd39f3eaca4a78e1c1a047d
xend: Properly save/restore vnc/vfb configuration

In 19284:0942BAA2A088 provision was made for running vnc and sdl
simultaneously.  However, arrangements for saving and restoring the
new structure-configuration, and arrangements for allowing the new
code to load old savefiles, were not made.

This patch adds these facilities.  Amongst other things, HVM VNC
save/restore will now work properly again.

Signed-off-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
 tools/python/xen/xend/XendConfig.py   |   15 +++++++++++++++
 tools/python/xen/xend/server/vfbif.py |    2 +-
 2 files changed, 16 insertions(+), 1 deletion(-)

diff -r b8d2f08f98d0 -r b89a9e97bd39 tools/python/xen/xend/XendConfig.py
--- a/tools/python/xen/xend/XendConfig.py       Tue Mar 31 11:21:14 2009 +0100
+++ b/tools/python/xen/xend/XendConfig.py       Tue Mar 31 11:23:38 2009 +0100
@@ -1410,6 +1410,21 @@ class XendConfig(dict):
                 if dev_uuid not in target['console_refs']:
                     target['console_refs'].append(dev_uuid)
 
+               # Cope with old-format save files which say under vfb
+               # (type vfb) rather than (vfb 1)
+               try:
+                   vfb_type = dev_info['type']
+               except KeyError:
+                   vfb_type = None
+               log.debug("iwj dev_type=%s vfb type %s" %
+                       (dev_type, `vfb_type`))
+
+               if vfb_type == 'vnc' or vfb_type == 'sdl':
+                   dev_info[vfb_type] = 1
+                   del dev_info['type']
+                   log.debug("iwj dev_type=%s vfb setting dev_info['%s']" %
+                               (dev_type, vfb_type))
+                
             elif dev_type == 'console':
                 if 'console_refs' not in target:
                     target['console_refs'] = []
diff -r b8d2f08f98d0 -r b89a9e97bd39 tools/python/xen/xend/server/vfbif.py
--- a/tools/python/xen/xend/server/vfbif.py     Tue Mar 31 11:21:14 2009 +0100
+++ b/tools/python/xen/xend/server/vfbif.py     Tue Mar 31 11:23:38 2009 +0100
@@ -6,7 +6,7 @@ import os
 import os
 
 CONFIG_ENTRIES = ['type', 'vncdisplay', 'vnclisten', 'vncpasswd', 'vncunused',
-                  'videoram', 'display', 'xauthority', 'keymap',
+                  'videoram', 'display', 'xauthority', 'keymap', 'vnc', 'sdl',
                   'uuid', 'location', 'protocol', 'opengl']
 
 class VfbifController(DevController):

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.