Re: [PATCH] Make virtio devices multi-function

Anthony Liguori
2008-04-22T18:52:11Z

>>> For mass storage, we should follow the SCSI model with a single device
>>> serving multiple disks, similar to what you suggest. Not sure if the
>>> device should have a single queue or one queue per disk.
>>>
>> My latest thought it to do a virtio-based virtio controller.
>>
>
> Why do you dislike multiple disks per virtio-blk controller? As
> mentioned this seems a natural way forward.
>

Logically speaking, virtio is a bus. virtio supports all of the
features of a bus (discover, hot add, hot remove).

Right now, we map virtio devices directly onto the PCI bus.

The problem we're trying to address is limitations of the PCI bus. We
have a couple options:

1) add a virtio device that supports multiple disks. we need to
reinvent hotplug within this device.

2) add a new PCI virtio transport that supports multiple virtio-blk
devices within a single PCI slot

3) add a generic PCI virtio transport that supports multiple virtio
devices within a single PCI slot

4) add a generic virtio "bridge" that supports multiple virtio devices
within a single virtio device.

#4 may seem strange, but it's no different from a PCI-to-PCI bridge.

I like #4 the most, but #2 is probably the most practical.

Regards,

Anthony Liguori