Message ID | 20221213160045.28170-5-jgross@suse.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | tools/xenstore: do some cleanup and fixes | expand |
Hi Juergen, On 13/12/2022 16:00, Juergen Gross wrote: > When a domain has been released by Xen tools, remove all its > registered watches. This avoids sending watch events to the dead domain > when all the nodes related to it are being removed by the Xen tools. AFAICT, the only user of the command in the tree is softreset. Would you be able to check this is still working as expected? > > Signed-off-by: Juergen Gross <jgross@suse.com> > --- > V2: > - move call to do_release() (Julien Grall) > --- > tools/xenstore/xenstored_domain.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c > index aa86892fed..e669c89e94 100644 > --- a/tools/xenstore/xenstored_domain.c > +++ b/tools/xenstore/xenstored_domain.c > @@ -740,6 +740,9 @@ int do_release(const void *ctx, struct connection *conn, > if (IS_ERR(domain)) > return -PTR_ERR(domain); > > + /* Avoid triggering watch events when the domain's nodes are deleted. */ > + conn_delete_all_watches(domain->conn); > + > talloc_free(domain->conn); > > send_ack(conn, XS_RELEASE); Cheers,
On 20.12.22 20:01, Julien Grall wrote: > Hi Juergen, > > On 13/12/2022 16:00, Juergen Gross wrote: >> When a domain has been released by Xen tools, remove all its >> registered watches. This avoids sending watch events to the dead domain >> when all the nodes related to it are being removed by the Xen tools. > > AFAICT, the only user of the command in the tree is softreset. Would you be able > to check this is still working as expected? Seems to work fine. Juergen
Hi Juergen, On 11/01/2023 06:36, Juergen Gross wrote: > On 20.12.22 20:01, Julien Grall wrote: >> On 13/12/2022 16:00, Juergen Gross wrote: >>> When a domain has been released by Xen tools, remove all its >>> registered watches. This avoids sending watch events to the dead domain >>> when all the nodes related to it are being removed by the Xen tools. >> >> AFAICT, the only user of the command in the tree is softreset. Would >> you be able to check this is still working as expected? > > Seems to work fine. Thanks for the confirmation! You can add my reviewed-by: Reviewed-by: Julien Grall <jgrall@amazon.com> Cheers,
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c index aa86892fed..e669c89e94 100644 --- a/tools/xenstore/xenstored_domain.c +++ b/tools/xenstore/xenstored_domain.c @@ -740,6 +740,9 @@ int do_release(const void *ctx, struct connection *conn, if (IS_ERR(domain)) return -PTR_ERR(domain); + /* Avoid triggering watch events when the domain's nodes are deleted. */ + conn_delete_all_watches(domain->conn); + talloc_free(domain->conn); send_ack(conn, XS_RELEASE);
When a domain has been released by Xen tools, remove all its registered watches. This avoids sending watch events to the dead domain when all the nodes related to it are being removed by the Xen tools. Signed-off-by: Juergen Gross <jgross@suse.com> --- V2: - move call to do_release() (Julien Grall) --- tools/xenstore/xenstored_domain.c | 3 +++ 1 file changed, 3 insertions(+)