WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH]xl: Some small fixes to xl

To: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH]xl: Some small fixes to xl
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Fri, 21 May 2010 15:26:08 +0100
Cc:
Delivery-date: Fri, 21 May 2010 07:27:04 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4BF62FB9.40008@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acr4s97rpYwXSoMgT5WcGUQ3p4LuJwAPa6ua
Thread-topic: [Xen-devel] [PATCH]xl: Some small fixes to xl
User-agent: Microsoft-Entourage/12.24.0.100205
Please provide a signed-off-by line.

 K.

On 21/05/2010 08:01, "Yang Hongyang" <yanghy@xxxxxxxxxxxxxx> wrote:

> The patch fixes following problems:
> -When use mem-set, I got suspicious error output:
>  # xl mem-set 1 256g
>  setting domid 1 memory to : 268435456
>  [0] libxl.c:2535:libxl_set_memory_target: memory_dynamic_max must be less
> than or equal to memory_static_max
>  : Success
> -parse_mem_size_kb() returns type int64_t
> -String generated by strdup() should be freed
> -When using 'xl help', mem-max and mem-set's output is not as intend, and it's
> also
>  breaks bash completion, fix it.
> 
> diff -r 840f269d95fb tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c Wed May 19 22:59:52 2010 +0100
> +++ b/tools/libxl/libxl.c Fri May 21 22:56:02 2010 +0800
> @@ -2531,7 +2531,7 @@
>          }
>  
>          if (target_memkb > memorykb) {
> -            XL_LOG_ERRNO(ctx, XL_LOG_ERROR,
> +            XL_LOG(ctx, XL_LOG_ERROR,
>                  "memory_dynamic_max must be less than or equal to
> memory_static_max\n");
>              return 1;
>          }
> diff -r 840f269d95fb tools/libxl/xl_cmdimpl.c
> --- a/tools/libxl/xl_cmdimpl.c Wed May 19 22:59:52 2010 +0100
> +++ b/tools/libxl/xl_cmdimpl.c Fri May 21 22:56:02 2010 +0800
> @@ -1300,7 +1300,7 @@
>  
>  void set_memory_target(char *p, char *mem)
>  {
> -    long long int memorykb;
> +    int64_t memorykb;
>  
>      find_domain(p);
>  
> @@ -1310,7 +1310,7 @@
>          exit(3);
>      }
>  
> -    printf("setting domid %d memory to : %lld\n", domid, memorykb);
> +    printf("setting domid %d memory to : %ld\n", domid, memorykb);
>      libxl_set_memory_target(&ctx, domid, memorykb, /* enforce */ 1);
>  }
>  
> @@ -3644,7 +3644,8 @@
>      int fd;
>      char buf[512];
>      uint32_t uptime = 0;
> -    char *uptime_str = 0;
> +    char *uptime_str = NULL;
> +    char *now_str = NULL;
>  
>      fd = open("/proc/uptime", O_RDONLY);
>      if (fd == -1)
> @@ -3661,9 +3662,10 @@
>  
>      if (short_mode)
>      {
> +        now_str = current_time_to_string(now);
>          uptime_str = uptime_to_string(uptime, 1);
> -        printf(" %s up %s, %s (%d)\n", current_time_to_string(now),
> -               uptime_str, libxl_domid_to_name(&ctx, 0), 0);
> +        printf(" %s up %s, %s (%d)\n", now_str, uptime_str,
> +               libxl_domid_to_name(&ctx, 0), 0);
>      }
>      else
>      {
> @@ -3672,6 +3674,8 @@
>                 0, uptime_str);
>      }
>  
> +    if (now_str)
> +        free(now_str);
>      if (uptime_str)
>          free(uptime_str);
>      return;
> @@ -3684,7 +3688,8 @@
>  {
>      uint32_t s_time = 0;
>      uint32_t uptime = 0;
> -    char *uptime_str = 0;
> +    char *uptime_str = NULL;
> +    char *now_str = NULL;
>  
>      s_time = libxl_vm_get_start_time(&ctx, domuid);
>      if (s_time == -1)
> @@ -3692,9 +3697,10 @@
>      uptime = now - s_time;
>      if (short_mode)
>      {
> +        now_str = current_time_to_string(now);
>          uptime_str = uptime_to_string(uptime, 1);
> -        printf(" %s up %s, %s (%d)\n", current_time_to_string(now),
> -               uptime_str, libxl_domid_to_name(&ctx, domuid), domuid);
> +        printf(" %s up %s, %s (%d)\n", now_str, uptime_str,
> +               libxl_domid_to_name(&ctx, domuid), domuid);
>      }
>      else
>      {
> @@ -3703,6 +3709,8 @@
>                 domuid, uptime_str);
>      }
>  
> +    if (now_str)
> +        free(now_str);
>      if (uptime_str)
>          free(uptime_str);
>      return;
> diff -r 840f269d95fb tools/libxl/xl_cmdtable.c
> --- a/tools/libxl/xl_cmdtable.c Wed May 19 22:59:52 2010 +0100
> +++ b/tools/libxl/xl_cmdtable.c Fri May 21 22:56:02 2010 +0800
> @@ -110,17 +110,13 @@
>      },
>      { "mem-max",
>        &main_memmax,
> -      "Set the maximum amount reservation for a domain.\n"
> -      "Units default to kilobytes, but can be suffixed with\n"
> -      "'b' (bytes), 'k' (KB), 'm' (MB), 'g' (GB) or 't' (TB)",
> -      "<Domain> <MemKB>",
> +      "Set the maximum amount reservation for a domain",
> +      "<Domain> <MemKB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
>      },
>      { "mem-set",
>        &main_memset,
> -      "Set the current memory usage for a domain.\n"
> -      "Units default to kilobytes, but can be suffixed with\n"
> -      "'b' (bytes), 'k' (KB), 'm' (MB), 'g' (GB) or 't' (TB)",
> -      "<Domain> <MemKB>",
> +      "Set the current memory usage for a domain",
> +      "<Domain> <MemKB['b'[bytes]|'k'[KB]|'m'[MB]|'g'[GB]|'t'[TB]]>",
>      },
>      { "button-press",
>        &main_button_press,



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel