80e28a00ec
- unmodified_drivers: handle IRQF_SAMPLE_RANDOM, it was removed in 3.6-rc1 - bnc#778105 - first XEN-PV VM fails to spawn xend: Increase wait time for disk to appear in host bootloader Modified existing xen-domUloader.diff - Disable the snapshot patches. Snapshot only supported the qcow2 image format which was poorly implemented qemu 0.10.2. Snapshot support may be restored in the future when the newer upstream qemu is used by Xen. - bnc#776995 - attaching scsi control luns with pvscsi - xend/pvscsi: fix passing of SCSI control LUNs xen-bug776995-pvscsi-no-devname.patch - xend/pvscsi: fix usage of persistant device names for SCSI devices xen-bug776995-pvscsi-persistent-names.patch - xend/pvscsi: update sysfs parser for Linux 3.0 xen-bug776995-pvscsi-sysfs-parser.patch - Update to Xen 4.2.0 RC3+ c/s 25779 - Update to Xen 4.2.0 RC2+ c/s 25765 OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=199
107 lines
4.4 KiB
Diff
107 lines
4.4 KiB
Diff
Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/net.h
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/net.h
|
|
+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/net.h
|
|
@@ -107,8 +107,8 @@ void net_host_device_add(const char *dev
|
|
void net_host_device_remove(int vlan_id, const char *device);
|
|
|
|
#ifndef DEFAULT_NETWORK_SCRIPT
|
|
-#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
|
|
-#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
|
|
+#define DEFAULT_NETWORK_SCRIPT "/etc/xen/qemu-ifup"
|
|
+#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/xen/qemu-ifdown"
|
|
#endif
|
|
#ifdef __sun__
|
|
#define SMBD_COMMAND "/usr/sfw/sbin/smbd"
|
|
Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/net.c
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/net.c
|
|
+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/net.c
|
|
@@ -1759,9 +1759,10 @@ int net_client_init(const char *device,
|
|
}
|
|
if (get_param_value(script_arg, sizeof(script_arg), "scriptarg", p) == 0 &&
|
|
get_param_value(script_arg, sizeof(script_arg), "bridge", p) == 0) { /* deprecated; for xend compatibility */
|
|
- pstrcpy(script_arg, sizeof(script_arg), "");
|
|
+ ret = net_tap_init(vlan, device, name, ifname, setup_script, NULL, NULL);
|
|
+ } else {
|
|
+ ret = net_tap_init(vlan, device, name, ifname, setup_script, down_script, script_arg);
|
|
}
|
|
- ret = net_tap_init(vlan, device, name, ifname, setup_script, down_script, script_arg);
|
|
}
|
|
} else
|
|
#endif
|
|
Index: xen-4.2.0-testing/tools/python/xen/xend/image.py
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/python/xen/xend/image.py
|
|
+++ xen-4.2.0-testing/tools/python/xen/xend/image.py
|
|
@@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler):
|
|
mac = devinfo.get('mac')
|
|
if mac is None:
|
|
raise VmError("MAC address not specified or generated.")
|
|
- bridge = devinfo.get('bridge', 'xenbr0')
|
|
+ bridge = devinfo.get('bridge', None)
|
|
model = devinfo.get('model', 'rtl8139')
|
|
ret.append("-net")
|
|
- ret.append("nic,vlan=%d,macaddr=%s,model=%s" %
|
|
- (nics, mac, model))
|
|
+ net = "nic,vlan=%d,macaddr=%s,model=%s" % (nics, mac, model)
|
|
+ if bridge:
|
|
+ net += ",bridge=%s" % bridge
|
|
+ ret.append(net)
|
|
vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1)
|
|
ret.append("-net")
|
|
if osdep.tapif_script is not None:
|
|
Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
|
+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
|
@@ -1,36 +1,22 @@
|
|
#!/bin/sh
|
|
|
|
-#. /etc/rc.d/init.d/functions
|
|
-#ulimit -c unlimited
|
|
-
|
|
echo 'config qemu network with xen bridge for ' $*
|
|
|
|
+# If bridge is not specified, try device with default route.
|
|
bridge=$2
|
|
+if [ -z "$bridge" ]; then
|
|
+ bridge=$(ip route list | awk '/^default / { print $NF }')
|
|
+fi
|
|
|
|
-#
|
|
-# Old style bridge setup with netloop, used to have a bridge name
|
|
-# of xenbrX, enslaving pethX and vif0.X, and then configuring
|
|
-# eth0.
|
|
-#
|
|
-# New style bridge setup does not use netloop, so the bridge name
|
|
-# is ethX and the physical device is enslaved pethX
|
|
-#
|
|
-# So if...
|
|
-#
|
|
-# - User asks for xenbrX
|
|
-# - AND xenbrX doesn't exist
|
|
-# - AND there is a ethX device which is a bridge
|
|
-#
|
|
-# ..then we translate xenbrX to ethX
|
|
-#
|
|
-# This lets old config files work without modification
|
|
-#
|
|
-if [ ! -e "/sys/class/net/$bridge" ] && [ -z "${bridge##xenbr*}" ]
|
|
+# Exit if $bridge is not a bridge. Exit with 0 status
|
|
+# so qemu-dm process is not terminated. No networking in
|
|
+# vm is bad but not catastrophic. The vm could still run
|
|
+# cpu and disk IO workloads.
|
|
+# Include an useful error message in qemu-dm log file.
|
|
+if [ ! -e "/sys/class/net/${bridge}/bridge" ]
|
|
then
|
|
- if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ]
|
|
- then
|
|
- bridge="eth${bridge#xenbr}"
|
|
- fi
|
|
+ echo "WARNING! ${bridge} is not a bridge. qemu-ifup exiting. VM may not have a functioning networking stack."
|
|
+ exit 0
|
|
fi
|
|
|
|
ifconfig $1 0.0.0.0 up
|