[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] If /sbin/ isn't in the path, udev rules will erroneously not get
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxx # Node ID 5aad7e145e501fbfb346954950a33b042a963633 # Parent bffbe58801d01853b04967337f247b7f64af5fb4 If /sbin/ isn't in the path, udev rules will erroneously not get installed. Signed-off-by: Nivedita Singhvi <niv@xxxxxxxxxx> diff -r bffbe58801d0 -r 5aad7e145e50 install.sh --- a/install.sh Sat Nov 12 17:59:56 2005 +++ b/install.sh Mon Nov 14 10:05:34 2005 @@ -27,7 +27,7 @@ cp -fdRL $src/etc/init.d/* $dst/etc/init.d/ echo "All done." -if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then +if [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then cp -f $src/etc/udev/rules.d/*.rules $dst/etc/udev/rules.d/ else cp -f $src/etc/hotplug/*.agent $dst/etc/hotplug/ diff -r bffbe58801d0 -r 5aad7e145e50 linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c --- a/linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c Sat Nov 12 17:59:56 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/console/xencons_ring.c Mon Nov 14 10:05:34 2005 @@ -30,6 +30,12 @@ return mfn_to_virt(xen_start_info->console_mfn); } +static inline void notify_daemon(void) +{ + /* Use evtchn: this is called early, before irq is set up. */ + notify_remote_via_evtchn(xen_start_info->console_evtchn); +} + int xencons_ring_send(const char *data, unsigned len) { int sent = 0; @@ -47,8 +53,7 @@ wmb(); intf->out_prod = prod; - /* Use evtchn: this is called early, before irq is set up. */ - notify_remote_via_evtchn(xen_start_info->console_evtchn); + notify_daemon(); return sent; } @@ -70,8 +75,10 @@ 1, regs); } - wmb(); + mb(); intf->in_cons = cons; + + notify_daemon(); return IRQ_HANDLED; } @@ -102,6 +109,9 @@ xencons_irq = err; + /* In case we have in-flight data after save/restore... */ + notify_daemon(); + return 0; } diff -r bffbe58801d0 -r 5aad7e145e50 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c Sat Nov 12 17:59:56 2005 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_comms.c Mon Nov 14 10:05:34 2005 @@ -36,7 +36,7 @@ #include <asm-xen/xenbus.h> #include "xenbus_comms.h" -static int xenbus_irq = 0; +static int xenbus_irq; extern void xenbus_probe(void *); extern int xenstored_ready; @@ -51,7 +51,7 @@ static irqreturn_t wake_waiting(int irq, void *unused, struct pt_regs *regs) { - if(unlikely(xenstored_ready == 0)) { + if (unlikely(xenstored_ready == 0)) { xenstored_ready = 1; schedule_work(&probe_work); } @@ -188,9 +188,6 @@ } xenbus_irq = err; - - /* FIXME zero out page -- domain builder should probably do this*/ - memset(mfn_to_virt(xen_start_info->store_mfn), 0, PAGE_SIZE); return 0; } diff -r bffbe58801d0 -r 5aad7e145e50 tools/check/check_hotplug --- a/tools/check/check_hotplug Sat Nov 12 17:59:56 2005 +++ b/tools/check/check_hotplug Mon Nov 14 10:05:34 2005 @@ -7,7 +7,7 @@ exit 1 } -if [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `udev -V` -ge 059 ]; then +if [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev -V` -ge 059 ]; then exit 0 fi diff -r bffbe58801d0 -r 5aad7e145e50 tools/examples/Makefile --- a/tools/examples/Makefile Sat Nov 12 17:59:56 2005 +++ b/tools/examples/Makefile Mon Nov 14 10:05:34 2005 @@ -41,7 +41,7 @@ ifeq ($(findstring $(DI),$(DE)),$(DI)) HOTPLUGS=install-hotplug install-udev else -ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `udev -V` ] && [ `/sbin/udev -V` -ge 059 ] && echo 1),1) +ifeq ($(shell [ -x /sbin/udev ] && [ ! -z `/sbin/udev -V` ] && [ `/sbin/udev -V` -ge 059 ] && echo 1),1) HOTPLUGS=install-udev else HOTPLUGS=install-hotplug diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_linux_build.c --- a/tools/libxc/xc_linux_build.c Sat Nov 12 17:59:56 2005 +++ b/tools/libxc/xc_linux_build.c Mon Nov 14 10:05:34 2005 @@ -619,7 +619,9 @@ *store_mfn = page_array[(vstoreinfo_start-dsi.v_start) >> PAGE_SHIFT]; *console_mfn = page_array[(vconsole_start-dsi.v_start) >> PAGE_SHIFT]; - + if ( xc_clear_domain_page(xc_handle, dom, *store_mfn) || + xc_clear_domain_page(xc_handle, dom, *console_mfn) ) + goto error_out; start_info = xc_map_foreign_range( xc_handle, dom, PAGE_SIZE, PROT_READ|PROT_WRITE, diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_linux_restore.c --- a/tools/libxc/xc_linux_restore.c Sat Nov 12 17:59:56 2005 +++ b/tools/libxc/xc_linux_restore.c Mon Nov 14 10:05:34 2005 @@ -11,8 +11,6 @@ #include "xg_private.h" #include "xg_save_restore.h" - - /* max mfn of the whole machine */ static uint32_t max_mfn; diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_private.c --- a/tools/libxc/xc_private.c Sat Nov 12 17:59:56 2005 +++ b/tools/libxc/xc_private.c Mon Nov 14 10:05:34 2005 @@ -336,6 +336,19 @@ return 0; } +int xc_clear_domain_page(int xc_handle, + uint32_t domid, + unsigned long dst_pfn) +{ + void *vaddr = xc_map_foreign_range( + xc_handle, domid, PAGE_SIZE, PROT_WRITE, dst_pfn); + if ( vaddr == NULL ) + return -1; + memset(vaddr, 0, PAGE_SIZE); + munmap(vaddr, PAGE_SIZE); + return 0; +} + unsigned long xc_get_filesz(int fd) { uint16_t sig; diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xc_vmx_build.c --- a/tools/libxc/xc_vmx_build.c Sat Nov 12 17:59:56 2005 +++ b/tools/libxc/xc_vmx_build.c Mon Nov 14 10:05:34 2005 @@ -495,6 +495,9 @@ } *store_mfn = page_array[(v_end-2) >> PAGE_SHIFT]; + if ( xc_clear_domain_page(xc_handle, dom, *store_mfn) ) + goto error_out; + shared_page_frame = (v_end - PAGE_SIZE) >> PAGE_SHIFT; if ((e820_page = xc_map_foreign_range( diff -r bffbe58801d0 -r 5aad7e145e50 tools/libxc/xenctrl.h --- a/tools/libxc/xenctrl.h Sat Nov 12 17:59:56 2005 +++ b/tools/libxc/xenctrl.h Mon Nov 14 10:05:34 2005 @@ -424,6 +424,9 @@ int xc_copy_to_domain_page(int xc_handle, uint32_t domid, unsigned long dst_pfn, void *src_page); +int xc_clear_domain_page(int xc_handle, uint32_t domid, + unsigned long dst_pfn); + int xc_ia64_copy_to_domain_pages(int xc_handle, uint32_t domid, void* src_page, unsigned long dst_pfn, int nr_pages); _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |