On 09/03/2014 09:55 AM, Hongbin Lu wrote: >> The OpenVZ driver reported an error on parsing some OpenVZ config >> parameters (e.g. diskspace). This issue is due to the driver made >> two incorrect assumptions about the value of the parameters: >> 1. Assume paramaeter is just a number (e.g. 1024). >> 2. Assume the number is an integer. >> Actually, an OpenVZ config parameter may consists of a scalar and >> a unit, and the scalar is not necessary an integer (e.g. 2.2G). >> This patch is for fixing this issue. >> --- >> >> +static int >> +openvzParseParamUnit(char* str, openvzParamUnit *unit) >> +{ >> + int len = strlen(str); >> + if (len == 0) >> + return -1; >> + >> + switch (str[len - 1]) { >> + case 'G': >> + case 'g': >> + str[len - 1] = '\0'; >> + if (unit != NULL) >> + *unit = OPENVZ_PARAM_UNIT_GIGABYTE; >> + break; This looks similar to the existing virScaleInteger (src/util/virutil.c) and its wrapper vshCommandOptScaledInt (tools/virsh.c); any chance you can reuse that code (maybe by making it more generic) instead of reimplementing it from scratch? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list