On 23/11/2012 13:08, Cornelia Huck wrote:
On Thu, 22 Nov 2012 15:50:50 +0100 [email protected] wrote:+/* Create a virtio bus. */ +VirtioBus *virtio_bus_new(DeviceState *host, const VirtioBusInfo *info) +{ + /* + * This is needed, as we want to have different names for each virtio-bus. + * If we don't do that, we can't add more than one VirtIODevice. + */ + static int next_virtio_bus; + char *bus_name = g_strdup_printf("virtio-bus.%d", next_virtio_bus++);This still has the overflow/id-reuse problem, hasn't it?
What do you mean by overflow problem ?
Yes, you're right I must add a way to destroy the bus, and the devices when the proxy is hot unplugged!+ + BusState *qbus = qbus_create(TYPE_VIRTIO_BUS, host, bus_name); + VirtioBus *bus = VIRTIO_BUS(qbus); + bus->info = info; + qbus->allow_hotplug = 0; + bus->bus_in_use = false; + DPRINTF("%s bus created\n", bus_name); + return bus; +}Don't you need a way to destroy the bus again when the proxy device is hotunplugged?
Thanks, Fred
