All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Yang Hongyang <yanghy@cn.fujitsu.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: [PATCH]xl: Some small fixes to xl
Date: Fri, 21 May 2010 12:25:17 -0700	[thread overview]
Message-ID: <4BF6DE1D.6070904@goop.org> (raw)
In-Reply-To: <4BF62FB9.40008@cn.fujitsu.com>

On 05/21/2010 12:01 AM, Yang Hongyang 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);
>   

This is wrong; "int64_t" isn't necessarily long.  What was wrong with
the previous version?

    J

>      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,
>
>   

  parent reply	other threads:[~2010-05-21 19:25 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-21  7:01 [PATCH]xl: Some small fixes to xl Yang Hongyang
2010-05-21 14:26 ` Keir Fraser
2010-05-26  0:55   ` Yang Hongyang
2010-05-21 19:25 ` Jeremy Fitzhardinge [this message]
2010-05-24  0:48   ` Yang Hongyang
2010-05-24  9:16     ` Stefano Stabellini
2010-05-24 10:24       ` Ian Jackson
2010-05-24 10:31         ` Stefano Stabellini
2010-05-24 17:32           ` Jeremy Fitzhardinge
2010-05-26  1:02       ` Yang Hongyang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4BF6DE1D.6070904@goop.org \
    --to=jeremy@goop.org \
    --cc=xen-devel@lists.xensource.com \
    --cc=yanghy@cn.fujitsu.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.