Displaying 20 results from an estimated 46 matches for "xs_unwatch".
2012 Dec 13
4
[PATCH V3] libxenstore: filter watch events in libxenstore when we unwatch
XenStore puts in queued watch events via a thread and notifies the user.
Sometimes xs_unwatch is called before all related message is read. The use
case is non-threaded libevent, we have two event A and B:
- Event A will destroy something and call xs_unwatch;
- Event B is used to notify that a node has changed in XenStore.
As the event is called one by one, event A can be handled be...
2012 Dec 14
1
[PATCH V4] libxenstore: filter watch events in libxenstore when we unwatch
XenStore puts in queued watch events via a thread and notifies the user.
Sometimes xs_unwatch is called before all related message is read. The use
case is non-threaded libevent, we have two event A and B:
- Event A will destroy something and call xs_unwatch;
- Event B is used to notify that a node has changed in XenStore.
As the event is called one by one, event A can be handled be...
2012 Sep 25
2
[PATCH V2] libxenstore: filter watch events in libxenstore when we unwatch
While on entry to xs_unwatch, there may be an event on its way from
xenstored (eg in the ring or in the local kernel), all such events
will definitely come before the reply to the unwatch command. So at
the point where the unwatch reply has been processed (after xs_talkv),
any such now-deleted watch events will definitely hav...
2012 Dec 14
1
[PATCH V5] libxenstore: filter watch events in libxenstore when we unwatch
XenStore puts in queued watch events via a thread and notifies the user.
Sometimes xs_unwatch is called before all related message is read. The use
case is non-threaded libevent, we have two event A and B:
- Event A will destroy something and call xs_unwatch;
- Event B is used to notify that a node has changed in XenStore.
As the event is called one by one, event A can be handled be...
2012 Sep 19
5
[PATCH] libxenstore: filter watch events in libxenstore when we unwatch
XenStore puts in queued watch events via a thread and notifies the user.
Sometimes xs_unwatch is called before all related message is read. The use
case is non-threaded libevent, we have two event A and B:
- Event A will destroy something and call xs_unwatch;
- Event B is used to notify that a node has changed in XenStore.
As the event is called one by one, event A can be handled be...
2010 Sep 02
7
[PATCH] libxl: make libxl communicate with xenstored by socket or xenbus driver
Hi,
George sent a patch on this problem before, but it was not completed.
This patch makes libxl use xenbus to communicate with xenstored if libxl cannot open a socket. There''s a place that does not close fd in the case of failure, which is also fixed in this patch.
-----------------------------------------Patch------------------------------------------------------
diff -r eff592364826
2006 Aug 02
2
[PATCH][RFC] permit domU userspace to watch xenstore
...uint32_t msg_type;
void *reply;
+ char *path, *token;
+ struct watch_adapter *watch, *tmp_watch;
+ int err;
if ((len + u->len) > sizeof(u->u.buffer))
return -EINVAL;
@@ -169,6 +223,56 @@ static ssize_t xenbus_dev_write(struct f
kfree(reply);
break;
+ case XS_WATCH:
+ case XS_UNWATCH:
+ path = u->u.buffer + sizeof(u->u.msg);
+ token = memchr(path, 0, u->u.msg.len);
+ if (token == NULL)
+ return -EILSEQ;
+ token++;
+
+ if (msg_type == XS_WATCH) {
+ static const char * XS_WATCH_RESP = "OK";
+ struct xsd_sockmsg hdr;
+
+ watch = kmalloc(sizeof(*watc...
2006 Sep 13
0
[PATCH] fix xenconsoled race
...00
@@ -293,12 +293,14 @@ static bool watch_domain(struct domain *
bool success;
sprintf(domid_str, "dom%u", dom->domid);
- if (watch)
+ if (watch) {
success = xs_watch(xs, dom->conspath, domid_str);
- else
+ if (success)
+ domain_create_ring(dom);
+ } else {
success = xs_unwatch(xs, dom->conspath, domid_str);
- if (success)
- domain_create_ring(dom);
+ }
+
return success;
}
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2013 May 15
6
xenfs: race condition on xenstore watch
Dear xen-devel,
There''s a race condition in xenfs (xenstore driver) that causes
userspace utility xenstore-watch to crash.
Normally, the userspace process gets an "OK" from xenfs and then the
watch fires immediately after. Occasionally, this happens the other way
around: the watch fires before the driver sends "OK", which confuses
the xenstore-watch client. It seems
2008 Jan 17
0
[PATCH] [Mini-OS] add xenbus token support and separate watch event queues
...r* xenbus_unwatch_path_token( xenbus_transaction_t xbt, const char *path, const char *token)
+{
+ struct xsd_sockmsg *rep;
+
+ struct write_req req[] = {
+ {path, strlen(path) + 1},
+ {token, strlen(token) + 1},
+ };
+
+ struct watch *watch, **prev;
+
+ rep = xenbus_msg_reply(XS_UNWATCH, xbt, req, ARRAY_SIZE(req));
+
+ char *msg = errmsg(rep);
+ if (msg) return msg;
+ free(rep);
+
+ for (prev = &watches, watch = *prev; watch; prev = &watch->next, watch = *prev)
+ if (!strcmp(watch->token, token)) {
+ free(watch->token);
+ *...
2005 Aug 04
0
[PATCH 6/11] Xenstore watch rework
...ck(conn, XS_DEBUG);
failtest = true;
}
- return false;
- }
#endif /* TESTING */
+ break;
case XS_WATCH:
- return do_watch(conn, in);
+ do_watch(conn, in);
+ break;
case XS_WATCH_ACK:
- return do_watch_ack(conn, onearg(in));
+ do_watch_ack(conn, onearg(in));
+ break;
case XS_UNWATCH:
- return do_unwatch(conn, in);
+ do_unwatch(conn, in);
+ break;
case XS_TRANSACTION_START:
- return do_transaction_start(conn, onearg(in));
+ do_transaction_start(conn, onearg(in));
+ break;
case XS_TRANSACTION_END:
- return do_transaction_end(conn, onearg(in));
+ do_transaction_en...
2007 Oct 24
16
PATCH 0/10: Merge PV framebuffer & console into QEMU
The following series of 10 patches is a merge of the xenfb and xenconsoled
functionality into the qemu-dm code. The general approach taken is to have
qemu-dm provide two machine types - one for xen paravirt, the other for
fullyvirt. For compatability the later is the default. The goals overall
are to kill LibVNCServer, remove alot of code duplication and/or parallel
impls of the same concepts, and
2024 Feb 05
7
Bug#1063270: xen: NMU diff for 64-bit time_t transition
...me_domain at VERS_4.0 4.16.0
- xs_rm at VERS_4.0 4.16.0
- xs_set_permissions at VERS_4.0 4.16.0
- xs_set_target at VERS_4.0 4.16.0
- xs_strings_to_perms at VERS_4.0 4.16.0
- xs_suspend_evtchn_port at VERS_4.0 4.16.0
- xs_transaction_end at VERS_4.0 4.16.0
- xs_transaction_start at VERS_4.0 4.16.0
- xs_unwatch at VERS_4.0 4.16.0
- xs_watch at VERS_4.0 4.16.0
- xs_write at VERS_4.0 4.16.0
- xs_write_all at VERS_4.0 4.16.0
diff -Nru xen-4.17.3+10-g091466ba55/debian/libxenstore4t64.install xen-4.17.3+10-g091466ba55/debian/libxenstore4t64.install
--- xen-4.17.3+10-g091466ba55/debian/libxenstore4t64.install 1...
2010 Aug 12
0
[PATCH, v2]: xl: Implement per-API-call garbage-collection lifetime
...{
l1 = xs_read_watch(ctx->xsh, &n);
if (l1 != NULL) {
- char *state = libxl_xs_read(ctx, XBT_NULL, l1[XS_WATCH_PATH]);
+ char *state = libxl_xs_read(&gc, XBT_NULL, l1[XS_WATCH_PATH]);
if (!state || atoi(state) == 6) {
xs_unwatch(ctx->xsh, l1[0], l1[1]);
xs_rm(ctx->xsh, XBT_NULL, l1[XS_WATCH_TOKEN]);
XL_LOG(ctx, XL_LOG_DEBUG, "Destroyed device backend at %s", l1[XS_WATCH_TOKEN]);
rc = 0;
}
- libxl_free(ctx, state);
free(l...
2013 Jul 15
8
[PATCH 0 of 7 v5] Introduce the tapback daemon (most of blkback in user-space)
This patch series introduces the tapback daemon, the user space daemon that
acts as a device''s back-end, essentially most of blkback in user space. The
daemon is responsible for coordinating the front-end and tapdisk. It creates
tapdisk process as needed, instructs them to connect to/disconnect from the
shared ring, and manages the state of the back-end.
The shared ring between the
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
20
[patch 00/20] XEN-paravirt: Xen guest implementation for paravirt_ops interface
This patch series implements the Linux Xen guest in terms of the
paravirt-ops interface. The features in implemented this patch series
are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen console
* virtual block
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest as a paravirt_ops
backend. The features in implemented this patch series are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen hvc console (console=hvc0)
*
2007 Apr 18
24
[patch 00/24] Xen-paravirt_ops: Xen guest implementation for paravirt_ops interface
Hi Andi,
This patch series implements the Linux Xen guest as a paravirt_ops
backend. The features in implemented this patch series are:
* domU only
* UP only (most code is SMP-safe, but there's no way to create a new vcpu)
* writable pagetables, with late pinning/early unpinning
(no shadow pagetable support)
* supports both PAE and non-PAE modes
* xen hvc console (console=hvc0)
*