[libvirt] [PATCH v2 08/14] libxl: initialize device structures

Jim Fehlig jfehlig at suse.com
Thu Jun 20 17:36:41 UTC 2013


Jim Fehlig wrote:
> Marek Marczykowski-Górecki wrote:
>   
>> Do not leave uninitialized variables, not all parameters are set in
>> libxlMake*.
>>
>> Signed-off-by: Marek Marczykowski-Górecki <marmarek at invisiblethingslab.com>
>> ---
>>  src/libxl/libxl_conf.c | 8 ++++++++
>>  1 file changed, 8 insertions(+)
>>
>> diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
>> index e5d8dc5..d654ace 100644
>> --- a/src/libxl/libxl_conf.c
>> +++ b/src/libxl/libxl_conf.c
>> @@ -522,6 +522,8 @@ libxlMakeDisk(libxlDriverPrivatePtr driver,
>>                virDomainDiskDefPtr l_disk,
>>                libxl_device_disk *x_disk)
>>  {
>> +    libxl_device_disk_init(x_disk);
>> +
>>      if (VIR_STRDUP(x_disk->pdev_path, l_disk->src) < 0)
>>          return -1;
>>  
>> @@ -659,6 +661,8 @@ libxlMakeNic(libxlDriverPrivatePtr driver,
>>       * x_nics[i].mtu = 1492;
>>       */
>>  
>> +    libxl_device_nic_init(x_nic);
>>     

Hmm, after committing this I realized the init here clears the devid set
in libxlMakeNicList.  It wasn't spotted in my testing since libxl will
provide a sane devid when not specified.  In fact, for all the other
devices we allow libxl to determine devid.  I'll send a patch to remove
the nic devid assignment.  It's trivial, but maybe you can review it -
quick sanity check to ensure I'm not overlooking something.

Regards,
Jim

>> +
>>      virMacAddrGetRaw(&l_nic->mac, x_nic->mac);
>>  
>>      if (l_nic->model && !STREQ(l_nic->model, "netfront")) {
>> @@ -756,6 +760,8 @@ libxlMakeVfb(libxlDriverPrivatePtr driver,
>>               virDomainGraphicsDefPtr l_vfb,
>>               libxl_device_vfb *x_vfb)
>>  {
>> +    libxl_device_vfb_init(x_vfb);
>>   
>>     
>
> This was already being called in libxlMakeVfbList, but agreed it is
> better called here.  I rebased the patch, removed the extra
> libxl_device_vfb_init call in libxlMakeVfbList, and pushed the patch.
>
> Regards,
> Jim
>
>   
>> +
>>      switch (l_vfb->type) {
>>          case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
>>              if (libxlMakeSDLInfo(l_vfb, &x_vfb->sdl) < 0)
>> @@ -859,6 +865,8 @@ libxlBuildDomainConfig(libxlDriverPrivatePtr driver,
>>                         virDomainDefPtr def, libxl_domain_config *d_config)
>>  {
>>  
>> +    libxl_domain_config_init(d_config);
>> +
>>      if (libxlMakeDomCreateInfo(driver, def, &d_config->c_info) < 0)
>>          return -1;
>>  
>>   
>>     
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list