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

[PATCH] tools: init-dom0less: Replace err() with more informative messages


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Wed, 1 Oct 2025 09:51:49 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Roo3UpLpWdSUS8iJHQLCgeVurPp/+knn0D/sGXiFGd4=; b=UUAVRNIcafGdIIQKzDo0GMeN6FuOhm89f2AIKj62r7jcN5nr6Mk1gC+XeVw2uQp1/a94z+o4cey4EiPciOaA3CuF51wNJbh3fJzLEwtF9xYcz44wlezC+ZFaF9NWdeqSGvUnCVssUCKZCaYG70yasw9VCAVLuro0FkHWtreN6OIt3LtGaQSDt9Owq9qeb/vcoAJFGdTWmAXR5YS17GGQHBLdXdRYqhvuIlIOXwFvZ8RBt1JxecRdQ9/5ZA+YDr/Fsgvpa7gYRMcbBAlcV4EPQVTmpEgHZqDMe1f/zAeaS/+cbCho5cxP8gnBHx8aQzGTpSQXgsG8zYt6nGhmhvNpPg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LS8VmzDN28QTR7qllANhkE4QUyw4aL8FrHeiPe38nmspnKDuyV9DrL4sWdz86LX7lFLuAbn3pfxxiT1+2fZ/LUmfksggeYG69+5IKTqplbHl4yMYS/FGLuFc59l0RtuHPV+MUCVeqpjs5mAZ7/hCV+teRDsGP8aI5M2gcYsEyA+FIApq5UYqy2BxpAYYp4RTYL1pN2xEpjgN08NZsP9QTujy2AO+4wLolBes4zt2PfztKmvPLugJEh1Rd8f/jS8MGUl1/e6bmukEmGyDcxrLUG5KkpfsCRGUqfq1gEEYm4gkwstwLow+wKdYhupRNULw66FVmP4YtCtfvgipMOemLQ==
  • Cc: Michal Orzel <michal.orzel@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • Delivery-date: Wed, 01 Oct 2025 07:52:27 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

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.

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");
+            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");
+        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;
+    }
+
     return 0;
 }
 
-- 
2.43.0




 


Rackspace

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