|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v2 16/17] tools/init-dom0less: Configure already-introduced domains
With xenstore automatically introducing domains at startup, the
xs_is_domain_introduced() check is no longer accurate. Instead, process
all domains and introduce non-introduced domains. This writes the
xenstore entries and xl configuration for xenstore-enhanced domains as
those entries are still useful with an already-introduced domain.
Non-xenstore domains are still skipped.
While at it, remove domain_exists() which is just a simple wrapper.
Signed-off-by: Jason Andryuk <jason.andryuk@xxxxxxx>
---
tools/helpers/init-dom0less.c | 28 +++++++++++-----------------
1 file changed, 11 insertions(+), 17 deletions(-)
diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c
index 6ae7cf2e7e..4336e0f418 100644
--- a/tools/helpers/init-dom0less.c
+++ b/tools/helpers/init-dom0less.c
@@ -324,16 +324,14 @@ static int init_domain(struct xs_handle *xsh,
if (rc)
err(1, "writing to xenstore");
- rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, xenstore_evtchn);
- if (!rc)
- err(1, "xs_introduce_domain");
- return 0;
-}
+ if (!xs_is_domain_introduced(xsh, info->domid)) {
+ rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn,
+ xenstore_evtchn);
+ if (!rc)
+ err(1, "xs_introduce_domain");
+ }
-/* Check if domain has been configured in XS */
-static bool domain_exists(struct xs_handle *xsh, int domid)
-{
- return xs_is_domain_introduced(xsh, domid);
+ return 0;
}
int main(int argc, char **argv)
@@ -376,14 +374,10 @@ int main(int argc, char **argv)
continue;
printf("Checking domid: %u\n", domid);
- if (!domain_exists(xsh, domid)) {
- rc = init_domain(xsh, xch, xfh, &info[i]);
- if (rc < 0) {
- fprintf(stderr, "init_domain failed.\n");
- goto out;
- }
- } else {
- printf("Domain %u has already been initialized\n", domid);
+ rc = init_domain(xsh, xch, xfh, &info[i]);
+ if (rc < 0) {
+ fprintf(stderr, "init_domain failed.\n");
+ goto out;
}
}
out:
--
2.50.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |