On 03/20/2014 06:03 AM, Daniel P. Berrange wrote:
On Thu, Mar 20, 2014 at 09:39:22AM +0100, Wojciech Macek wrote:
> Add support for multiple virtio-blk devices. Current implementation
> offers room for up to 8 disks and enumerates them as functions on
> PCI bus: 2:0, 2:1 ... 2:7
Use of PCI functions should be avoided by default, since it prevents
you from supporting hotplug/unplug. You want virtio-blk devices to
be set on individual PCI slots instead, which allows upto 32 devices
in total (though VGA, host bridge & nic consume some of those).
Does bhyve support multiple buses and a pci-bridge device? If so, it's
probably better for libvirt's bhyve driver to add support for that
sooner rather than later, to avoid hard-coding a bunch of assumptions
about bus=0 that would need to be audited/changed later.
(Thinking about this is making me wonder if the PCI slot allocation that
is in the qemu driver should be moved into a library in util so that
other hypervisors can use it. It would take some work to extract the
qemu idiosyncracies out of it, but some of that is already half done due
to the differences between the i440fx based machinetypes and q35. Of
course it would probably be pointless unless other hypervisors also
support multiple buses).