Thanks Eric. I modified the fix accordingly. https://www.redhat.com/archives/libvir-list/2014-September/msg00363.html
Best regards, Hongbin On Wed, Sep 3, 2014 at 12:19 PM, Eric Blake <ebl...@redhat.com> wrote: > 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 > >
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list