[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] tools: init-dom0less: Replace err() with more informative messages
On Wed Oct 1, 2025 at 9:51 AM CEST, Michal Orzel wrote: > Current use of err() has the following issues: > - without setting errno, on error it results in printing e.g.: > "init-dom0less: writing to xenstore: Success" > This is very misleading and difficult to deduct that there was a > failure. > - does not propagate error codes to the caller. > - skips "init_domain failed" message by exiting early. > > Replace err() with more informative messages propagating rc when > possible. Sounds good to me. Only suggestion I'd make is to also print relevant arguments where needed, like... > > Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> > --- > tools/helpers/init-dom0less.c | 25 +++++++++++++++++-------- > 1 file changed, 17 insertions(+), 8 deletions(-) > > diff --git a/tools/helpers/init-dom0less.c b/tools/helpers/init-dom0less.c > index a182dce56353..3dd2d74886eb 100644 > --- a/tools/helpers/init-dom0less.c > +++ b/tools/helpers/init-dom0less.c > @@ -288,24 +288,33 @@ static int init_domain(struct xs_handle *xsh, > > rc = xc_dom_gnttab_seed(xch, info->domid, true, > (xen_pfn_t)-1, xenstore_pfn, 0, 0); > - if (rc) > - err(1, "xc_dom_gnttab_seed"); > + if (rc) { > + printf("Failed to seed gnttab entries\n"); ... also printing the domid and the xenstore pfn here. Or... > + return rc; > + } > } > > libxl_uuid_generate(&uuid); > xc_domain_sethandle(xch, info->domid, libxl_uuid_bytearray(&uuid)); > > rc = gen_stub_json_config(info->domid, &uuid); > - if (rc) > - err(1, "gen_stub_json_config"); > + if (rc) { > + printf("Failed to create stub json config\n"); ... the domid and uuid here. Similar suggestions for the other printfs. > + return rc; > + } > > rc = create_xenstore(xsh, info, uuid, xenstore_pfn, xenstore_evtchn); > - if (rc) > - err(1, "writing to xenstore"); > + if (rc) { > + printf("Failed to write to xenstore\n"); > + return rc; > + } > > rc = xs_introduce_domain(xsh, info->domid, xenstore_pfn, > xenstore_evtchn); > - if (!rc) > - err(1, "xs_introduce_domain"); > + if (!rc) { > + printf("Failed to introduce a domain\n"); > + return 1; nit: Maybe -EBUSY so it's -errno like the others? > + } > + > return 0; > } > Cheers, Alejandro
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |