diff --git a/xen-3.2.0-qemu-evtchn-fd.patch b/xen-3.2.0-qemu-evtchn-fd.patch new file mode 100644 index 0000000..e06fd72 --- /dev/null +++ b/xen-3.2.0-qemu-evtchn-fd.patch @@ -0,0 +1,30 @@ +changeset: 17121:ca2cf5c1adcc +user: Keir Fraser +date: Tue Feb 26 14:46:57 2008 +0000 +summary: ioemu: Do not sue xce_handle directly as a file descriptor. + +diff -r 76479f25cdac -r ca2cf5c1adcc tools/ioemu/hw/xen_console.c +--- a/tools/ioemu/hw/xen_console.c Tue Feb 26 14:46:07 2008 +0000 ++++ b/tools/ioemu/hw/xen_console.c Tue Feb 26 14:46:57 2008 +0000 +@@ -381,7 +381,7 @@ static void xencons_startup(void *opaque + qemu_set_fd_handler2(xs_fileno(dom->xsh), NULL, NULL, NULL, NULL); + + fprintf(stderr, "Console: connected to guest frontend\n"); +- if (qemu_set_fd_handler2(dom->xce_handle, NULL, xencons_ring_read, NULL, dom) < 0) ++ if (qemu_set_fd_handler2(xc_evtchn_fd(dom->xce_handle), NULL, xencons_ring_read, NULL, dom) < 0) + return; + + qemu_chr_add_handlers(dom->chr, xencons_can_receive, xencons_receive, +diff -r 76479f25cdac -r ca2cf5c1adcc tools/ioemu/hw/xenfb.c +--- a/tools/ioemu/hw/xenfb.c Tue Feb 26 14:46:07 2008 +0000 ++++ b/tools/ioemu/hw/xenfb.c Tue Feb 26 14:46:57 2008 +0000 +@@ -1160,7 +1160,7 @@ static int xenfb_register_console(struct + xenfb); + dpy_resize(xenfb->ds, xenfb->width, xenfb->height); + +- if (qemu_set_fd_handler2(xenfb->evt_xch, NULL, xenfb_dispatch_channel, NULL, xenfb) < 0) ++ if (qemu_set_fd_handler2(xc_evtchn_fd(xenfb->evt_xch), NULL, xenfb_dispatch_channel, NULL, xenfb) < 0) + return -1; + if (qemu_set_fd_handler2(xs_fileno(xenfb->xsh), NULL, xenfb_dispatch_store, NULL, xenfb) < 0) + return -1; + diff --git a/xen-disable-latex-docs.patch b/xen-disable-latex-docs.patch deleted file mode 100644 index c96850a..0000000 --- a/xen-disable-latex-docs.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -rup xen-3.2.0.orig/docs/Makefile xen-3.2.0.new/docs/Makefile ---- xen-3.2.0.orig/docs/Makefile 2008-01-16 13:34:59.000000000 -0500 -+++ xen-3.2.0.new/docs/Makefile 2008-02-03 13:12:19.000000000 -0500 -@@ -21,11 +21,7 @@ GFX = $(patsubst %.fig, %.eps, $(wildcar - all: build - - .PHONY: build --build: ps pdf html man-pages -- @if which $(DOT) 1>/dev/null 2>/dev/null ; then \ -- $(MAKE) -C xen-api build ; else \ -- echo "Graphviz (dot) not installed; skipping xen-api." ; fi -- rm -f *.aux *.dvi *.bbl *.blg *.glo *.idx *.ilg *.log *.ind *.toc -+build: man-pages - - .PHONY: dev-docs - dev-docs: python-dev-docs -@@ -80,17 +76,9 @@ distclean: clean - - .PHONY: install - install: all -- rm -rf $(DESTDIR)$(pkgdocdir) -- $(INSTALL_DIR) $(DESTDIR)$(pkgdocdir) -- -- $(MAKE) -C xen-api install -- -- cp -dR ps $(DESTDIR)$(pkgdocdir) -- cp -dR pdf $(DESTDIR)$(pkgdocdir) - $(INSTALL_DIR) $(DESTDIR)$(mandir) - cp -dR man1 $(DESTDIR)$(mandir) - cp -dR man5 $(DESTDIR)$(mandir) -- [ ! -d html ] || cp -dR html $(DESTDIR)$(pkgdocdir) - - pdf/%.pdf: ps/%.ps - $(INSTALL_DIR) $(@D) diff --git a/xen-qemu-logfile.patch b/xen-qemu-logfile.patch new file mode 100644 index 0000000..39318a8 --- /dev/null +++ b/xen-qemu-logfile.patch @@ -0,0 +1,82 @@ +diff -r 2a8eaba24bf0 tools/ioemu/keymaps.c +--- a/tools/ioemu/keymaps.c Tue Feb 26 15:11:51 2008 +0000 ++++ b/tools/ioemu/keymaps.c Wed Feb 27 15:26:53 2008 -0500 +@@ -126,11 +126,11 @@ static kbd_layout_t *parse_keyboard_layo + if (rest && strstr(rest, "numlock")) { + add_to_key_range(&k->keypad_range, keycode); + add_to_key_range(&k->numlock_range, keysym); +- fprintf(stderr, "keypad keysym %04x keycode %d\n", keysym, keycode); ++ //fprintf(stderr, "keypad keysym %04x keycode %d\n", keysym, keycode); + } + if (rest && strstr(rest, "shift")) { + add_to_key_range(&k->shift_range, keysym); +- fprintf(stderr, "shift keysym %04x keycode %d\n", keysym, keycode); ++ //fprintf(stderr, "shift keysym %04x keycode %d\n", keysym, keycode); + } + + /* if(keycode&0x80) +diff -r 2a8eaba24bf0 tools/ioemu/monitor.c +--- a/tools/ioemu/monitor.c Tue Feb 26 15:11:51 2008 +0000 ++++ b/tools/ioemu/monitor.c Wed Feb 27 15:26:53 2008 -0500 +@@ -2520,7 +2520,7 @@ static void monitor_handle_command1(void + + static void monitor_start_input(void) + { +- readline_start("(HVMXen) ", 0, monitor_handle_command1, NULL); ++ readline_start("(qemu) ", 0, monitor_handle_command1, NULL); + } + + static void term_event(void *opaque, int event) +diff -r 2a8eaba24bf0 tools/ioemu/vl.c +--- a/tools/ioemu/vl.c Tue Feb 26 15:11:51 2008 +0000 ++++ b/tools/ioemu/vl.c Wed Feb 27 15:26:53 2008 -0500 +@@ -7611,9 +7611,7 @@ int main(int argc, char **argv) + } + } + +- /* Now send logs to our named config */ +- sprintf(qemu_dm_logfilename, "/var/log/xen/qemu-dm-%d.log", domid); +- cpu_set_log_filename(qemu_dm_logfilename); ++ cpu_set_log(0); + + #ifndef NO_DAEMONIZE + if (daemonize && !nographic && vnc_display == NULL && vncunused == 0) { +diff -r 2a8eaba24bf0 tools/python/xen/xend/image.py +--- a/tools/python/xen/xend/image.py Tue Feb 26 15:11:51 2008 +0000 ++++ b/tools/python/xen/xend/image.py Wed Feb 27 15:26:53 2008 -0500 +@@ -296,7 +296,34 @@ class ImageHandler: + { 'dom': self.vm.getDomid(), 'read': True, 'write': True }) + log.info("spawning device models: %s %s", self.device_model, args) + # keep track of pid and spawned options to kill it later +- self.pid = os.spawnve(os.P_NOWAIT, self.device_model, args, env) ++ ++ logfile = "/var/log/xen/qemu-dm-%s.log" % str(self.vm.info['name_label']) ++ if os.path.exists(logfile): ++ if os.path.exists(logfile + ".1"): ++ os.unlink(logfile + ".1") ++ os.rename(logfile, logfile + ".1") ++ ++ null = os.open("/dev/null", os.O_RDONLY) ++ logfd = os.open(logfile, os.O_WRONLY|os.O_CREAT|os.O_TRUNC) ++ ++ pid = os.fork() ++ if pid == 0: #child ++ try: ++ os.dup2(null, 0) ++ os.dup2(logfd, 1) ++ os.dup2(logfd, 2) ++ os.close(null) ++ os.close(logfd) ++ try: ++ os.execve(self.device_model, args, env) ++ except: ++ os._exit(127) ++ except: ++ os._exit(127) ++ else: ++ self.pid = pid ++ os.close(null) ++ os.close(logfd) + self.vm.storeDom("image/device-model-pid", self.pid) + log.info("device model pid: %d", self.pid) + diff --git a/xen.spec b/xen.spec index 3fd8fe9..623d230 100644 --- a/xen.spec +++ b/xen.spec @@ -2,7 +2,7 @@ # Always set these 3 tags %define base_version 3.2.0 -%define base_release 8 +%define base_release 9 # Hypervisor ABI %define hv_abi 3.2 @@ -68,12 +68,12 @@ Patch7: xen-hvm-kernel-boot-nonrelocatable.patch Patch8: xen-xenstore-cli.patch Patch9: xen-timer-mode.patch -# Temporary hack see rhbz #431327 -Patch10: xen-disable-latex-docs.patch Patch13: xen-dumpdir.patch Patch14: xen-net-disable-bridge-by-default.patch Patch15: xen-net-disable-iptables-on-bridge.patch Patch16: xen-3.2.0-block-rw-range-check.patch +Patch17: xen-3.2.0-qemu-evtchn-fd.patch +Patch18: xen-qemu-logfile.patch Patch36: xen-qemu-bootmenu.patch @@ -169,11 +169,12 @@ which manage Xen virtual machines. %patch8 -p1 %patch9 -p1 -%patch10 -p1 %patch13 -p1 %patch14 -p1 %patch15 -p1 %patch16 -p1 +%patch17 -p1 +%patch18 -p1 %patch36 -p1 @@ -456,6 +457,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/*.a %changelog +* Wed Feb 27 2008 Daniel P. Berrange - 3.2.0-9.fc9 +- Let XenD setup QEMU logfile (rhbz #435164) +- Fix PVFB use of event channel filehandle + * Sat Feb 23 2008 Daniel P. Berrange - 3.2.0-8.fc9 - Fix block device extents check (rhbz #433560)