[libvirt] [PATCH v2] openvzDomainSetNetwork: use virCommand

Michal Privoznik mprivozn at redhat.com
Mon May 20 16:56:59 UTC 2013


On 20.05.2013 17:54, Eric Blake wrote:
> On 05/20/2013 07:47 AM, Michal Privoznik wrote:
>> Currently, the openvzDomainSetNetwork function constructs an
>> array of strings representing a command line for VZCTL binary.
>> This is a overkill since our virCommand APIs can cover all the
>> functionality. Moreover, the function is not following our
>> structure where return value is set to -1 initially, and after
>> all operations succeeded then it is set to zero.
>> ---
>>  src/openvz/openvz_driver.c | 80 +++++++++++-----------------------------------
>>  1 file changed, 19 insertions(+), 61 deletions(-)
>> @@ -919,40 +889,28 @@ openvzDomainSetNetwork(virConnectPtr conn, const char *vpsid,
>>              }
>>          }
>>  
>> -        if (!(opt = virBufferContentAndReset(&buf)))
>> -            goto no_memory;
>> +        if (!(opt = virBufferContentAndReset(&buf))) {
>> +            virReportOOMError();
>> +            goto cleanup;
>> +        }
> 
> You can skip the call to virBufferContentAndReset, if you instead do:
> 
>>  
>> -        ADD_ARG_LIT(opt) ;
>> +        /* --netif_add ifname[,mac,host_ifname,host_mac] */
>> +        virCommandAddArgList(cmd, "--netif_add", opt, NULL);
> 
> virCommandAddArg(cmd, "--netif_add");
> virCommandAddArgBuffer(cmd, opt);
> 

Even nicer! I went with this version and pushed. Thank you both guys.

Michal




More information about the libvir-list mailing list