[pve-devel] virtiodisk ordering bug in current implementation + proposal for new qemu device syntax

Dietmar Maurer dietmar at proxmox.com
Mon Aug 29 07:17:19 CEST 2011

> but now, when i check on guest side.
> virtio0  = /dev/vdb
> virtio1  = /dev/vda

I can't remember that we guarantee any ordering on virtio, but
having a defined order will be better.

> So , now for the new qemudevice syntax, here a new proposal:
> The only way to order virtiodisk, is to choose pci slot order, so to not break
> current promox logic, and make it working better:
> I propose to use index number of device, to assign pci slot.
> virtio10: disk virtio slot 10
> virtio11: disk virtio slot 11
> net12: nic slot12
> virtio13: disk virtio slot 13
> pci14: pci passthrout slot 14
> net13 : nic slot 13
> ...
> No need to addr field, config file structure don't change.
> So user can choose virtio disk from 10->31 , or nic from 10->31 or pci device
> from 10->31.
> I one device already use the index, another device can't use it.

This is a serious problem - how do you want to handle that?

I also thought about doing it that way, but assign an unique addr to all devices (This only 
works if we have enough pci slots available (pve-to-pci bridge). Or we simply guarantee
a defined address for the first 10 devices for now?

virtio0 -> addr10
virtio9 -> addr19
net0 -> addr20
net9 -> addr29

We can extend that guarantee once the pci-to-pci bridge code works.

What do you think?

- Dietmar

More information about the pve-devel mailing list