Re: [libvirt] [patch] Add openvzDomainSetMemoryInternal

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 27, 2009 at 04:12:47PM +0900, Yuji NISHIDA wrote:
> Hi all,
>
> This patch is to set KMEMSIZE for OpenVZ.
> This function is used for initializing the parameter of KMEMSIZE to  
> start container.
> openvzDomainSetMemory should be left for another purpose so I added new 
> one.
>
> I think users should specify memory as kbyte ( or bigger ).

  That's the definition all entry points for memory use KB as the unit.
so that's what you get in the driver and XML format files.

> ---
>  src/openvz/openvz_driver.c |   32 ++++++++++++++++++++++++++++++++
>  1 files changed, 32 insertions(+), 0 deletions(-)

  Your mail agent made garbage (nearly) of the patch, in the future
please provide your patches as attachement.

> diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
> index f64ad1e..5c1fefa 100644
> --- a/src/openvz/openvz_driver.c
> +++ b/src/openvz/openvz_driver.c
> @@ -69,6 +69,7 @@ static int openvzGetMaxVCPUs(virConnectPtr conn, const 
> char *type);
>  static int openvzDomainGetMaxVcpus(virDomainPtr dom);
>  static int openvzDomainSetVcpus(virDomainPtr dom, unsigned int nvcpus);
>  static int openvzDomainSetVcpusInternal(virConnectPtr conn,  
> virDomainObjPtr vm, unsigned int nvcpus);
> +static int openvzDomainSetMemoryInternal(virConnectPtr conn,  
> virDomainObjPtr vm, unsigned long memory);
>
>  static void openvzDriverLock(struct openvz_driver *driver)
>  {
> @@ -803,6 +804,14 @@ openvzDomainDefineXML(virConnectPtr conn, const  
> char *xml)
>          }
>      }
>
> +    if (vm->def->memory > 0) {
> +        if (openvzDomainSetMemoryInternal(conn, vm, vm->def->memory) < 
> 0) {
> +            openvzError(conn, VIR_ERR_INTERNAL_ERROR,
> +                     "%s", _("Could not set memory size"));
> +             goto cleanup;
> +        }
> +    }
> +
>      dom = virGetDomain(conn, vm->def->name, vm->def->uuid);
>      if (dom)
>          dom->id = -1;
> @@ -1364,6 +1373,29 @@ static int openvzNumDefinedDomains(virConnectPtr 
> conn) {
>      return ninactive;
>  }
>
> +static int openvzDomainSetMemoryInternal(virConnectPtr conn,  
> virDomainObjPtr vm,
> +                                 unsigned long mem) {
> +    struct openvz_driver *driver = conn->privateData;

  That variable is unused. Compiling the code show the warning. How did
you miss this ?

> +    char str_mem[16];
> +    const char *prog[] = { VZCTL, "--quiet", "set", PROGRAM_SENTINAL,
> +                           "--kmemsize", str_mem, "--save", NULL };
> +
> +    /* memory has to be changed its format from kbyte to byte */
> +    snprintf( str_mem, sizeof(str_mem), "%lu", mem * 1024 );
> +
> +    openvzSetProgramSentinal(prog, vm->def->name);
> +    if (virRun(conn, prog, NULL) < 0) {
> +        openvzError(conn, VIR_ERR_INTERNAL_ERROR,
> +               _("Could not exec %s"), VZCTL);
> +        goto cleanup;
> +    }
> +
> +    return 0;
> +
> +cleanup:
> +    return -1;
> +}
> +
>  static virDriver openvzDriver = {
>      VIR_DRV_OPENVZ,
>      "OPENVZ",

  That said the patch looks sensible to me, I applied it by hand,
cleaned up the formatting, and removed the unused variable.

  thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel@xxxxxxxxxxxx  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

--
Libvir-list mailing list
Libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]