Update get_implicit_path to return the correct value for a non-dom0
xenstored domain.

Signed-off-by: Jason Andryuk <jason.andr...@amd.com>
Reviewed-by: Juergen Gross <jgr...@suse.com>
---
v5:
R-b: Juergen
---
 tools/xenstored/domain.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index be8dd19eb8..d083dfb65e 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1238,11 +1238,13 @@ static int close_xgt_handle(void *_handle)
        return 0;
 }
 
+static char store_domain_path[] = "/local/domain/65535";
+
 /* Returns the implicit path of a connection (only domains have this) */
 const char *get_implicit_path(const struct connection *conn)
 {
        if (!conn->domain)
-               return "/local/domain/0";
+               return store_domain_path;
        return conn->domain->path;
 }
 
@@ -1312,6 +1314,9 @@ void init_domains(void)
        if (priv_domid == DOMID_INVALID)
                barf("Could not determine xenstore domid\n");
 
+       snprintf(store_domain_path, sizeof(store_domain_path),
+                "/local/domain/%u", store_domid);
+
        /*
         * Local domid must be first to setup structures for firing the special
         * watches.
-- 
2.50.1


Reply via email to