OBS User unknown 2007-06-09 09:47:25 +00:00 committed by Git OBS Bridge
parent 5a31fb9842
commit 6349b62b6e
8 changed files with 200 additions and 8 deletions

22
00-domain-restore.patch Normal file
View File

@ -0,0 +1,22 @@
diff -r c21b18b97a61 tools/libxc/xc_domain_restore.c
--- a/tools/libxc/xc_domain_restore.c Tue Jun 05 17:05:13 2007 +0100
+++ b/tools/libxc/xc_domain_restore.c Tue Jun 05 17:40:40 2007 +0100
@@ -903,13 +903,14 @@ int xc_domain_restore(int xc_handle, int
/* Get the list of PFNs that are not in the psuedo-phys map */
{
- unsigned int count;
+ unsigned int count = 0;
unsigned long *pfntab;
int nr_frees, rc;
- if ( !read_exact(io_fd, &count, sizeof(count)) )
- {
- ERROR("Error when reading pfn count");
+ if ( !read_exact(io_fd, &count, sizeof(count)) ||
+ (count > (1U << 28)) ) /* up to 1TB of address space */
+ {
+ ERROR("Error when reading pfn count (= %u)", count);
goto out;
}

68
15157_modified.patch Normal file
View File

@ -0,0 +1,68 @@
diff -ru a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py
--- a/tools/python/xen/xend/XendDomainInfo.py 2007-06-08 11:19:37.000000000 -0600
+++ b/tools/python/xen/xend/XendDomainInfo.py 2007-06-08 11:23:59.000000000 -0600
@@ -545,20 +545,17 @@
def destroyDevice(self, deviceClass, devid, force = False):
try:
- devid = int(devid)
+ dev = int(devid)
except ValueError:
- # devid is not a number, let's search for it in xenstore.
- devicePath = '%s/device/%s' % (self.dompath, deviceClass)
- for entry in xstransact.List(devicePath):
- backend = xstransact.Read('%s/%s' % (devicePath, entry),
- "backend")
- devName = xstransact.Read(backend, "dev")
- if devName == devid:
- # We found the integer matching our devid, use it instead
- devid = entry
- break
-
- return self.getDeviceController(deviceClass).destroyDevice(devid, force)
+ # devid is not a number but a string containing either device
+ # name (e.g. xvda) or device_type/device_id (e.g. vbd/51728)
+ dev = type(devid) is str and devid.split('/')[-1] or None
+ if dev == None:
+ log.debug("Could not find the device %s", devid)
+ return None
+
+ log.debug("dev = %s", dev)
+ return self.getDeviceController(deviceClass).destroyDevice(dev, force)
def getDeviceSxprs(self, deviceClass):
if self._stateGet() in (DOM_STATE_RUNNING, DOM_STATE_PAUSED):
@@ -1354,20 +1351,19 @@
self.image.destroy(suspend)
return
- while True:
- t = xstransact("%s/device" % self.dompath)
- for devclass in XendDevices.valid_devices():
- for dev in t.list(devclass):
- try:
- t.remove(dev)
- except:
- # Log and swallow any exceptions in removal --
- # there's nothing more we can do.
- log.exception(
- "Device release failed: %s; %s; %s",
- self.info['name_label'], devclass, dev)
- if t.commit():
- break
+ t = xstransact("%s/device" % self.dompath)
+ for devclass in XendDevices.valid_devices():
+ for dev in t.list(devclass):
+ try:
+ log.debug("Removing %s", dev);
+ self.destroyDevice(devclass, dev, False);
+ except:
+ # Log and swallow any exceptions in removal --
+ # there's nothing more we can do.
+ log.exception("Device release failed: %s; %s; %s",
+ self.info['name_label'], devclass, dev)
+
+
def getDeviceController(self, name):
"""Get the device controller for this domain, and if it

View File

@ -32,6 +32,10 @@ optional packages are also installed:
virt-manager (Optional, to manage VMs graphically) virt-manager (Optional, to manage VMs graphically)
tightvnc (Optional, to view VMs outside virt-manager) tightvnc (Optional, to view VMs outside virt-manager)
Additional packages:
nbd-client (Optional, to access virtual disks stored on NBD servers)
open-iscsi (Optional, to access virtual disks stored on iSCSI targets)
You then need to reboot your machine. Instead of booting a normal Linux You then need to reboot your machine. Instead of booting a normal Linux
kernel, you will boot the Xen hypervisor and a slightly changed Linux kernel. kernel, you will boot the Xen hypervisor and a slightly changed Linux kernel.
This Linux kernel runs in the first virtual machine and will drive most of This Linux kernel runs in the first virtual machine and will drive most of

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:cc63852b3a7401ff69ba3348247ae18373b5d67ad36610c4796d0b9b4e8fc207 oid sha256:1d7c196292084bc708381e51e3dd9a750b7c4050a336ff07d5fe67a50806bf8f
size 5797383 size 5796338

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:eb5f079f1f13a77acbf4f8a1e64d26bf4892ed5191f6db9c373bb2c374c67186 oid sha256:e5f43dfaf099df2502edd0175866f74c86cda6de3aafbaaae695f957cf4d9227
size 173451 size 188098

View File

@ -142,3 +142,53 @@ Index: xen-3.1-testing/tools/blktap/drivers/block-qcow.c
return -1; return -1;
} }
} }
Index: xen-3.1-testing/tools/xenstore/utils.c
===================================================================
--- xen-3.1-testing.orig/tools/xenstore/utils.c
+++ xen-3.1-testing/tools/xenstore/utils.c
@@ -27,33 +27,38 @@ void xprintf(const char *fmt, ...)
void barf(const char *fmt, ...)
{
char *str;
+ int bytes;
va_list arglist;
xprintf("FATAL: ");
va_start(arglist, fmt);
- vasprintf(&str, fmt, arglist);
+ bytes = vasprintf(&str, fmt, arglist);
va_end(arglist);
- xprintf("%s\n", str);
- free(str);
+ if (bytes >= 0) {
+ xprintf("%s\n", str);
+ free(str);
+ }
exit(1);
}
void barf_perror(const char *fmt, ...)
{
char *str;
- int err = errno;
+ int bytes, err = errno;
va_list arglist;
xprintf("FATAL: ");
va_start(arglist, fmt);
- vasprintf(&str, fmt, arglist);
+ bytes = vasprintf(&str, fmt, arglist);
va_end(arglist);
- xprintf("%s: %s\n", str, strerror(err));
- free(str);
+ if (bytes >= 0) {
+ xprintf("%s: %s\n", str, strerror(err));
+ free(str);
+ }
exit(1);
}

View File

@ -1,3 +1,28 @@
-------------------------------------------------------------------
Fri Jun 8 12:11:42 MDT 2007 - ccoffing@novell.com
- Update to official rc10 (changeset 15042).
- Updated vm-install:
+ easier to exit with Ctrl-C
+ drop "TERM=xterm" for Linux (breaks PVFB text install)
+ use "TERM=vt100" when calling "xm" to suppress terminal codes
+ command-line support for VNC password
+ fixed disk groups (e.g., 2 disks on command line w/o PDEV)
+ fixed regression: Don't let user close progress window
+ failure to open a device should not completely fail search for
bootsector (consider: no media in /dev/cdrom)
+ always remove PV kernel and initrd from /tmp
+ #279153: Support disks on iscsi/qcow/vmdk/nbd/file/phy/...
-------------------------------------------------------------------
Fri Jun 8 11:33:41 MDT 2007 - jfehlig@novell.com
- Added a modified version of upstream c/s 15157. Original version
of c/s 15157 fixed bug #262805 but also broke
'xm block-detach dom dev_name'. Modified version fixes bug 262805
without introducing regression. Patch fixing c/s 15157 has been
submitted upstream.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed May 23 16:36:54 MDT 2007 - ccoffing@novell.com Wed May 23 16:36:54 MDT 2007 - ccoffing@novell.com

View File

@ -1,5 +1,5 @@
# #
# spec file for package xen (Version 3.1.0_15040) # spec file for package xen (Version 3.1.0_15042)
# #
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine # This file and all modifications and additions to the pristine
@ -13,7 +13,7 @@
Name: xen Name: xen
%define xvers 3.1 %define xvers 3.1
%define xvermaj 3 %define xvermaj 3
%define changeset 15040 %define changeset 15042
%define xen_build_dir xen-3.1-testing %define xen_build_dir xen-3.1-testing
%define with_install 1 %define with_install 1
%if %sles_version %if %sles_version
@ -34,8 +34,8 @@ BuildRequires: glibc-32bit glibc-devel-32bit
%if %{?with_kmp}0 %if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms xorg-x11 BuildRequires: kernel-source kernel-syms xorg-x11
%endif %endif
Version: 3.1.0_15040 Version: 3.1.0_15042
Release: 9 Release: 1
License: GNU General Public License (GPL) License: GNU General Public License (GPL)
Group: System/Kernel Group: System/Kernel
Autoreqprov: on Autoreqprov: on
@ -60,6 +60,8 @@ Source15: sysconfig.xend
Source16: network-multi Source16: network-multi
# Upstream patches # Upstream patches
Patch0: 15048-localtime.diff Patch0: 15048-localtime.diff
Patch1: 15157_modified.patch
Patch2: 00-domain-restore.patch
# Our patches # Our patches
Patch100: xen-config.diff Patch100: xen-config.diff
Patch101: xend-config.diff Patch101: xend-config.diff
@ -516,6 +518,8 @@ Authors:
%setup -q -c -n %xen_build_dir/tools -D -T -a 1 %setup -q -c -n %xen_build_dir/tools -D -T -a 1
cd .. cd ..
%patch0 -p1 %patch0 -p1
%patch1 -p1
%patch2 -p1
%patch100 -p1 %patch100 -p1
%patch101 -p1 %patch101 -p1
%patch102 -p1 %patch102 -p1
@ -920,6 +924,25 @@ rm -f $RPM_BUILD_ROOT/%pysite/*.egg-info
/sbin/ldconfig /sbin/ldconfig
%changelog %changelog
* Fri Jun 08 2007 - ccoffing@novell.com
- Update to official rc10 (changeset 15042).
- Updated vm-install:
+ easier to exit with Ctrl-C
+ drop "TERM=xterm" for Linux (breaks PVFB text install)
+ use "TERM=vt100" when calling "xm" to suppress terminal codes
+ command-line support for VNC password
+ fixed disk groups (e.g., 2 disks on command line w/o PDEV)
+ fixed regression: Don't let user close progress window
+ failure to open a device should not completely fail search for
bootsector (consider: no media in /dev/cdrom)
+ always remove PV kernel and initrd from /tmp
+ #279153: Support disks on iscsi/qcow/vmdk/nbd/file/phy/...
* Fri Jun 08 2007 - jfehlig@novell.com
- Added a modified version of upstream c/s 15157. Original version
of c/s 15157 fixed bug #262805 but also broke
'xm block-detach dom dev_name'. Modified version fixes bug 262805
without introducing regression. Patch fixing c/s 15157 has been
submitted upstream.
* Wed May 23 2007 - ccoffing@novell.com * Wed May 23 2007 - ccoffing@novell.com
- Drop xen-messages.diff; Xen now supports HVM save/restore. - Drop xen-messages.diff; Xen now supports HVM save/restore.
* Tue May 22 2007 - ccoffing@novell.com * Tue May 22 2007 - ccoffing@novell.com