
On 03/06/13 22:15, Viktor Mihajlovski wrote:
+ +static int +virDomainHostdevAssignAddress(virDomainXMLOptionPtr xmlopt, + virDomainDefPtr def, + virDomainHostdevDefPtr hostdev) +{ + int next_unit; + unsigned nscsi_controllers = 0; + bool found = false; + int i; + + if (hostdev->source.subsys.type != VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI) + return -1; + + for (i = 0; i < def->ncontrollers && !found; i++) { + if (def->controllers[i]->type != VIR_DOMAIN_CONTROLLER_TYPE_SCSI) + continue; + + nscsi_controllers++; + next_unit = virDomainControllerSCSINextUnit(def, + xmlopt->config.hasWideScsiBus ? + SCSI_WIDE_BUS_MAX_CONT_UNIT : + SCSI_NARROW_BUS_MAX_CONT_UNIT, + def->controllers[i]->idx); + if (next_unit >= 0) + found = true; + } + + hostdev->info->type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE; + + hostdev->info->addr.drive.controller = found ? + def->controllers[i - 1]->idx : + nscsi_controllers; + hostdev->info->addr.drive.bus = 0; + hostdev->info->addr.drive.target = 0; + hostdev->info->addr.drive.unit = found ? next_unit : 0; well, 1.0.6 is out of the door, but with this I hit the following
On 05/31/2013 12:09 PM, Osier Yang wrote: problem on Ubuntu 12.04 (gcc 4.6.3): ../../src/conf/domain_conf.c: In function 'virDomainHostdevDefParseXML': ../../src/conf/domain_conf.c:3915:36: error: 'next_unit' may be used uninitialized in this function [-Werror=uninitialized] ../../src/conf/domain_conf.c:3886:9: note: 'next_unit' was declared here
It seems that the older compiler is not smart enough to grasp the tie between 'found' and 'next_unit'...
fixed by Jirka with 4db39e3fee6
+ + return 0; +}