- bnc#564406 - Make the new PV drivers work with older hosts that

do not understand the new PV driver protocol. 

- Upstream Xen version renamed to 4.0.0 in changeset 20624 & 20625. 

- fate#307594: HP-MCBS: XEN: support NR_CPUS=256 
  This is a spec file change (xen.spec)

- bnc#555152 - "NAME" column in xentop (SLES11) output limited to
  10 characters unlike SLES10
  The update to c/s 20572 includes this fix (at c/s 20567).

- Modify xen-paths.diff 

- Merge xend-tap-fix.patch to xen-domUloader.diff
  remove part of it which accepted by upstream

- Load gntdev module in xend init script similar to blkbk,
  netbk, etc.

- Backport dmmd from sles11/xen
  block-dmmd
  xen-qemu-iscsi-fix.patch
  xen.spec 

- Fix regression when create_vbd for tap
  xend-tap-fix.patch

- Temporarily disable libxl because of libconfig dependency. 

- fate#302864 domUloader support lvm in disk
  domUloader.py
  Note: for test in Beta1, if not good, remove it

- fate#302864 domUloader support fs on whole disk
  domUloader.py

- Turn KMPs back on now that kernel side fix is checked in. 

- fate#304415 VMM: ability to switch networking mode
  Add vif-route-ifup to handle routed configurations using
  sysconfig scripts.
  vif-route-ifup.patch

- fate#307540 USB for Xen VMs
  usb-add.patch

- fate#305545 XEN extra descriptive field within xenstore
  add_des.patch

- Update to Xen version 3.5.0 for the following features. 
  fate#304226 XEN: FlexMigration feature of VT-x2 support
  fate#305004 Add SR-IOV PF and VF drivers to Vt-d enabled Xen
  fate#306830 T states in Xen controlling by MSR
  fate#306832 Fix for xen panic on new processors
  fate#306833 Westmere and Nehalem-EX: Add support for Pause Loop exiting feature for Xen
  fate#306835 Xen: server virtual power management enhacement
  fate#306837 VT-d2 - PCI SIG ATS support
  fate#306872 Xen: Node manager support P/T-states change when Vt-d enable
  fate#306873 Xen: SMP guest live migration may fail with hap=1 on NHM
  fate#306875 Westmere: LT-SX (Xen)
  fate#306891 RAS features for Xen: Add support for Machine Check and CPU/Memory online/offline features
  fate#307322 1GB page support in Xen
  fate#307324 Xen IOMMU support

OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=26
This commit is contained in:
Charles Arnold
2010-01-16 00:12:54 +00:00
committed by Git OBS Bridge
parent e6b6844bcf
commit fe31f9be81
117 changed files with 1894 additions and 3557 deletions

View File

@@ -1,8 +1,8 @@
Index: xen-3.4.1-testing/tools/python/xen/util/blkif.py
Index: xen-4.0.0-testing/tools/python/xen/util/blkif.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/util/blkif.py
+++ xen-3.4.1-testing/tools/python/xen/util/blkif.py
@@ -71,23 +71,24 @@ def blkdev_segment(name):
--- xen-4.0.0-testing.orig/tools/python/xen/util/blkif.py
+++ xen-4.0.0-testing/tools/python/xen/util/blkif.py
@@ -71,8 +71,8 @@ def blkdev_segment(name):
'type' : 'Disk' }
return val
@@ -12,8 +12,9 @@ Index: xen-3.4.1-testing/tools/python/xen/util/blkif.py
+ fn = typ = taptype = None
if uname.find(":") != -1:
(typ, fn) = uname.split(":", 1)
if typ in ("phy", "drbd") and not fn.startswith("/"):
fn = "/dev/%s" %(fn,)
@@ -88,15 +88,16 @@ def _parse_uname(uname):
if typ == "tap":
(taptype, fn) = fn.split(":", 1)
- return (fn, taptype)
@@ -28,15 +29,15 @@ Index: xen-3.4.1-testing/tools/python/xen/util/blkif.py
def blkdev_uname_to_taptype(uname):
"""Take a blkdev uname and return the blktap type."""
- return _parse_uname(uname)[1]
+ return parse_uname(uname)[1][0]
+ return parse_uname(uname)[1]
def mount_mode(name):
mode = None
Index: xen-3.4.1-testing/tools/python/xen/xend/server/DevController.py
Index: xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/server/DevController.py
+++ xen-3.4.1-testing/tools/python/xen/xend/server/DevController.py
@@ -593,6 +593,31 @@ class DevController:
--- xen-4.0.0-testing.orig/tools/python/xen/xend/server/DevController.py
+++ xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py
@@ -592,6 +592,31 @@ class DevController:
return (Missing, None)
@@ -68,10 +69,10 @@ Index: xen-3.4.1-testing/tools/python/xen/xend/server/DevController.py
def backendPath(self, backdom, devid):
"""Construct backend path given the backend domain and device id.
Index: xen-3.4.1-testing/tools/python/xen/xend/XendBootloader.py
Index: xen-4.0.0-testing/tools/python/xen/xend/XendBootloader.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/XendBootloader.py
+++ xen-3.4.1-testing/tools/python/xen/xend/XendBootloader.py
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendBootloader.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendBootloader.py
@@ -12,7 +12,7 @@
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
@@ -81,7 +82,7 @@ Index: xen-3.4.1-testing/tools/python/xen/xend/XendBootloader.py
import random
import shlex
from xen.xend import sxp
@@ -38,8 +38,25 @@ def bootloader(blexec, disk, dom, quiet
@@ -38,8 +38,25 @@ def bootloader(blexec, disk, dom, quiet
msg = "Bootloader isn't executable"
log.error(msg)
raise VmError(msg)
@@ -109,20 +110,20 @@ Index: xen-3.4.1-testing/tools/python/xen/xend/XendBootloader.py
log.error(msg)
raise VmError(msg)
Index: xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-3.4.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -35,7 +35,7 @@ from types import StringTypes
--- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -37,7 +37,7 @@ from types import StringTypes
import xen.lowlevel.xc
from xen.util import asserts
from xen.util import asserts, auxbin
-from xen.util.blkif import blkdev_uname_to_file, blkdev_uname_to_taptype
+from xen.util.blkif import parse_uname
import xen.util.xsm.xsm as security
from xen.util import xsconstants
@@ -2135,6 +2135,10 @@ class XendDomainInfo:
from xen.util import mkdir
@@ -2320,6 +2320,10 @@ class XendDomainInfo:
deviceClass, config = self.info['devices'].get(dev_uuid)
self._waitForDevice(deviceClass, config['devid'])
@@ -133,19 +134,25 @@ Index: xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
def _waitForDevice_destroy(self, deviceClass, devid, backpath):
return self.getDeviceController(deviceClass).waitForDevice_destroy(
devid, backpath)
@@ -2893,9 +2897,19 @@ class XendDomainInfo:
@@ -3206,7 +3210,7 @@ class XendDomainInfo:
devtype = devinfo[0]
disk = devinfo[1]['uname']
- fn = blkdev_uname_to_file(disk)
- taptype = blkdev_uname_to_taptype(disk)
- mounted = devtype == 'tap' and taptype != 'aio' and taptype != 'sync' and not os.stat(fn).st_rdev
+ (fn, types) = parse_uname(disk)
+
# If this is a drbd volume, check if we need to activate it
if disk.find(":") != -1:
@@ -3217,8 +3221,17 @@ class XendDomainInfo:
if state == 'Secondary':
os.system('/sbin/drbdadm primary ' + diskname)
- taptype = blkdev_uname_to_taptype(disk)
- mounted = devtype in ['tap', 'tap2'] and taptype != 'aio' and taptype != 'sync' and not os.stat(fn).st_rdev
+ def _shouldMount(types):
+ if types[0] in ('file', 'phy'):
+ return False
+ if types[0] == 'tap':
+ if types[0] == 'tap' or types[0] == 'tap2':
+ if types[1] in ('aio', 'sync'):
+ return False
+ else:
@@ -156,27 +163,26 @@ Index: xen-3.4.1-testing/tools/python/xen/xend/XendDomainInfo.py
if mounted:
# This is a file, not a device. pygrub can cope with a
# file if it's raw, but if it's QCOW or other such formats
@@ -2911,7 +2925,9 @@ class XendDomainInfo:
@@ -3234,7 +3247,8 @@ class XendDomainInfo:
from xen.xend import XendDomain
dom0 = XendDomain.instance().privilegedDomain()
- dom0._waitForDeviceUUID(dom0.create_vbd(vbd, disk))
+ vbd_uuid = dom0.create_vbd(vbd, disk)
+ dom0._waitForDeviceUUID(vbd_uuid)
+ dom0._waitForDeviceFrontUUID(vbd_uuid)
fn = BOOTLOADER_LOOPBACK_DEVICE
try:
@@ -2921,8 +2937,10 @@ class XendDomainInfo:
@@ -3244,8 +3258,10 @@ class XendDomainInfo:
if mounted:
log.info("Unmounting %s from %s." %
(fn, BOOTLOADER_LOOPBACK_DEVICE))
-
- dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE)
+ if devtype == 'tap':
+ dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE)
+ if devtype in ['tap', 'tap2']:
+ dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True)
+ else:
+ dom0.destroyDevice('vbd', BOOTLOADER_LOOPBACK_DEVICE)
+ dom0.destroyDevice('vbd', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True)
if blcfg is None:
msg = "Had a bootloader specified, but can't find disk"