size_t i;
for (i = 0; i < nhostdevs; i++) {
- virDomainHostdevSubsys subsys = {0};
+ virDomainHostdevSubsys *subsys;
hostdevs[i] = virDomainHostdevDefNew();
if (!hostdevs[i])
goto cleanup;
hostdevs[i]->mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS;
- subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
- subsys.u.pci.addr.domain = 0;
- subsys.u.pci.addr.bus = 0;
- subsys.u.pci.addr.slot = i + 1;
- subsys.u.pci.addr.function = 0;
- subsys.u.pci.backend = VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO;
- hostdevs[i]->source.subsys = subsys;
+ subsys = &hostdevs[i]->source.subsys;
+ subsys->type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
+ subsys->u.pci.addr.domain = 0;
+ subsys->u.pci.addr.bus = 0;
+ subsys->u.pci.addr.slot = i + 1;
+ subsys->u.pci.addr.function = 0;
+ subsys->u.pci.backend = VIR_DOMAIN_HOSTDEV_PCI_BACKEND_VFIO;
}
for (i = 0; i < nhostdevs; i++) {
- virDomainHostdevSubsys subsys = hostdevs[i]->source.subsys;
- if (!(dev[i] = virPCIDeviceNew(&subsys.u.pci.addr)))
+ virDomainHostdevSubsys *subsys = &hostdevs[i]->source.subsys;
+ if (!(dev[i] = virPCIDeviceNew(&subsys->u.pci.addr)))
goto cleanup;
virPCIDeviceSetStubDriver(dev[i], VIR_PCI_STUB_DRIVER_VFIO);