]> xenbits.xensource.com Git - people/iwj/xen.git/commitdiff
tools/xl: use libxl_domain_info to get domain type for vcpu-pin
authorIgor Druzhinin <igor.druzhinin@citrix.com>
Tue, 9 Apr 2019 12:01:58 +0000 (13:01 +0100)
committerIan Jackson <ian.jackson@eu.citrix.com>
Thu, 16 May 2019 16:13:32 +0000 (17:13 +0100)
Parsing the config seems to be an overkill for this particular task
and the config might simply be absent. Type returned from libxl_domain_info
should be either LIBXL_DOMAIN_TYPE_HVM or LIBXL_DOMAIN_TYPE_PV but in
that context distinction between PVH and HVM should be irrelevant.

Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
(cherry picked from commit 48dab9767d2eb173495707cb1fd8ceaf73604ac1)
(cherry picked from commit c59579d8319b776ae6243da1999737e2b4737710)

tools/xl/xl_vcpu.c

index c877f2595fca2168130a8739a17e6337754a7a3d..ef995137c9ec0c38377c9fbc0fbfe6e357f130ae 100644 (file)
@@ -78,7 +78,6 @@ void apply_global_affinity_masks(libxl_domain_type type,
 
     switch (type) {
     case LIBXL_DOMAIN_TYPE_HVM:
-    case LIBXL_DOMAIN_TYPE_PVH:
         type_mask = &global_hvm_affinity_mask;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
@@ -283,19 +282,15 @@ int main_vcpupin(int argc, char **argv)
 
     /* Only hard affinity matters here */
     if (!ignore_masks) {
-        libxl_domain_config d_config;
+        libxl_dominfo dominfo;
 
-        libxl_domain_config_init(&d_config);
-        rc = libxl_retrieve_domain_configuration(ctx, domid, &d_config);
-        if (rc) {
-            fprintf(stderr, "Could not retrieve domain configuration\n");
-            libxl_domain_config_dispose(&d_config);
+        if (libxl_domain_info(ctx, &dominfo, domid)) {
+            fprintf(stderr, "Could not get domain info\n");
             goto out;
         }
 
-        apply_global_affinity_masks(d_config.b_info.type, hard, 1);
-
-        libxl_domain_config_dispose(&d_config);
+        /* HVM and PVH domains use the same global affinity mask */
+        apply_global_affinity_masks(dominfo.domain_type, hard, 1);
     }
 
     if (force) {