[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [XENBUS] Cleanup correctly on suspend, unregister watches.
# HG changeset patch # User kaf24@xxxxxxxxxxxxxxxxxxxxx # Node ID 7258181ab445dcdcdb5da7a5c0db05906ae3923a # Parent 3fc16c39f15e78d1ab1b1abf82a26cb631f7fca5 [XENBUS] Cleanup correctly on suspend, unregister watches. Again needed for domU kexec, so the next kernel instance can register watches without running into -EBUSY. Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxx> --- linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c | 10 ++++++++++ 1 files changed, 10 insertions(+) diff -r 3fc16c39f15e -r 7258181ab445 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Sat Aug 19 10:20:08 2006 +0100 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_xs.c Sat Aug 19 10:21:02 2006 +0100 @@ -665,7 +665,17 @@ EXPORT_SYMBOL_GPL(unregister_xenbus_watc void xs_suspend(void) { + struct xenbus_watch *watch; + char token[sizeof(watch) * 2 + 1]; + down_write(&xs_state.suspend_mutex); + + /* No need for watches_lock: the suspend_mutex is sufficient. */ + list_for_each_entry(watch, &watches, list) { + sprintf(token, "%lX", (long)watch); + xs_unwatch(watch->node, token); + } + mutex_lock(&xs_state.request_mutex); } _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |