[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen master] tools/xenstore: remove all watches when a domain has stopped



commit 9260e41e73ddd9872825cd4ed836fd0dcfd5cb98
Author:     Juergen Gross <jgross@xxxxxxxx>
AuthorDate: Wed Jan 18 10:50:01 2023 +0100
Commit:     Julien Grall <jgrall@xxxxxxxxxx>
CommitDate: Fri Jan 20 09:23:51 2023 +0000

    tools/xenstore: remove all watches when a domain has stopped
    
    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@xxxxxxxx>
    Reviewed-by: Julien Grall <jgrall@xxxxxxxxxx>
---
 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);
--
generated by git-patchbot for /home/xen/git/xen.git#master



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.