[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH]xl: Some small fixes to xl
Hi jeremy, Thank you for your review. On 05/22/2010 03:25 AM, Jeremy Fitzhardinge wrote: > 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 ...snip... >> } >> >> - 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? There's a problem. libxl_set_memory_target() takes memorykb as uint32_t, so, if you want set as 'long long int', you should also modify this lib function I think. For this reason, when I set the memory to 100t, libxl_set_memory_target() will take the memorykb as 0... > > 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, >> >> > > > -- Regards Yang Hongyang _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |