[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] Fix for missing response to XS_UNWATCH request.
With this patch, Dom0 clients can do "unwatch" properly through the kernel's xenbus connection. Cheers, Magnus # HG changeset patch # User Magnus Carlsson <magnus@xxxxxxxxxx> # Date 1174512701 25200 # Node ID 001a9729e8f7a6c0da128a7f9586f9a304e17cab # Parent 3fd9b0c71b8c687b108a8bf671c9c4fc47046a0a Fix for missing response to XS_UNWATCH request. diff -r 3fd9b0c71b8c -r 001a9729e8f7 linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c --- a/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Tue Mar 20 17:36:18 2007 +0000 +++ b/linux-2.6-xen-sparse/drivers/xen/xenbus/xenbus_dev.c Wed Mar 21 14:31:41 2007 -0700 @@ -246,9 +246,6 @@ static ssize_t xenbus_dev_write(struct f token++; if (msg_type == XS_WATCH) { - static const char * XS_WATCH_RESP = "OK"; - struct xsd_sockmsg hdr; - watch = kmalloc(sizeof(*watch), GFP_KERNEL); watch->watch.node = kmalloc(strlen(path)+1, GFP_KERNEL); @@ -266,11 +263,6 @@ static ssize_t xenbus_dev_write(struct f } list_add(&watch->list, &u->watches); - - hdr.type = XS_WATCH; - hdr.len = strlen(XS_WATCH_RESP) + 1; - queue_reply(u, (char *)&hdr, sizeof(hdr)); - queue_reply(u, (char *)XS_WATCH_RESP, hdr.len); } else { list_for_each_entry_safe(watch, tmp_watch, &u->watches, list) { @@ -284,6 +276,14 @@ static ssize_t xenbus_dev_write(struct f } } } + { + static const char * XS_RESP = "OK"; + struct xsd_sockmsg hdr; + hdr.type = msg_type; + hdr.len = strlen(XS_RESP) + 1; + queue_reply(u, (char *)&hdr, sizeof(hdr)); + queue_reply(u, (char *)XS_RESP, hdr.len); + } break; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |