From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH] xl: fix UUID reporting with xl list -l Date: Thu, 23 Sep 2010 14:48:09 +0200 Message-ID: <4C9B4C89.7060504@amd.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------000200060508050702070609" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini Cc: xen-devel List-Id: xen-devel@lists.xenproject.org --------------000200060508050702070609 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Hi, if there is no UUID specified in the config file, we generate one during the _parsing_ process. Since xl list -l parses the config file again, the UUID will be generated again in this case and the reported version does probably not match the used one. Fix this by retrieving the UUID from dominfo (like xl list -v does). Signed-off-by: Andre Przywara Regards, Andre. -- Andre Przywara AMD-Operating System Research Center (OSRC), Dresden, Germany Tel: +49 351 448-3567-12 --------------000200060508050702070609 Content-Type: text/x-patch; name="xl_fix_uuid_reporting.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="xl_fix_uuid_reporting.patch" diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 8dbf860..9aa4b78 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -469,6 +469,7 @@ static void printf_info(int domid, libxl_device_model_info *dm_info) { int i; + libxl_dominfo info; libxl_domain_create_info *c_info = &d_config->c_info; libxl_domain_build_info *b_info = &d_config->b_info; @@ -480,7 +481,16 @@ static void printf_info(int domid, printf("\t(oos %d)\n", c_info->oos); printf("\t(ssidref %d)\n", c_info->ssidref); printf("\t(name %s)\n", c_info->name); - printf("\t(uuid " LIBXL_UUID_FMT ")\n", LIBXL_UUID_BYTES(c_info->uuid)); + + /* retrieve the UUID from dominfo, since it is probably generated + * during parsing and thus does not match the real one + */ + if (libxl_domain_info(&ctx, &info, domid) == 0) { + printf("\t(uuid " LIBXL_UUID_FMT ")\n", LIBXL_UUID_BYTES(info.uuid)); + } else { + printf("\t(uuid )\n"); + } + printf("\t(cpupool %s (%d))\n", c_info->poolname, c_info->poolid); if (c_info->xsdata) printf("\t(xsdata contains data)\n"); --------------000200060508050702070609 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------000200060508050702070609--