Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Revert "xen/pv-on-hvm kexec: add xs_reset_watches to shutdown watches from old kernel"

This reverts commit ddacf5ef684a655abe2bb50c4b2a5b72ae0d5e05.
As when booting the kernel under Amazon EC2 as an HVM guest it ends up
hanging during startup. Reverting this we loose the fix for kexec
booting to the crash kernels.

Fixes Canonical BZ #901305 (http://bugs.launchpad.net/bugs/901305)

Tested-by: Alessandro Salvatori <sandr8@gmail.com>
Reported-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>

+1 -15
-13
drivers/xen/xenbus/xenbus_xs.c
··· 621 621 return NULL; 622 622 } 623 623 624 - static void xs_reset_watches(void) 625 - { 626 - int err; 627 - 628 - err = xs_error(xs_single(XBT_NIL, XS_RESET_WATCHES, "", NULL)); 629 - if (err && err != -EEXIST) 630 - printk(KERN_WARNING "xs_reset_watches failed: %d\n", err); 631 - } 632 - 633 624 /* Register callback to watch this node. */ 634 625 int register_xenbus_watch(struct xenbus_watch *watch) 635 626 { ··· 896 905 task = kthread_run(xenbus_thread, NULL, "xenbus"); 897 906 if (IS_ERR(task)) 898 907 return PTR_ERR(task); 899 - 900 - /* shutdown watches for kexec boot */ 901 - if (xen_hvm_domain()) 902 - xs_reset_watches(); 903 908 904 909 return 0; 905 910 }
+1 -2
include/xen/interface/io/xs_wire.h
··· 29 29 XS_IS_DOMAIN_INTRODUCED, 30 30 XS_RESUME, 31 31 XS_SET_TARGET, 32 - XS_RESTRICT, 33 - XS_RESET_WATCHES 32 + XS_RESTRICT 34 33 }; 35 34 36 35 #define XS_WRITE_NONE "NONE"