On 02/21/2011 02:38 AM, Michal Novotny wrote:
[snip]
> We've got other code in domain_conf.c that assigns ports
> to the first available slot; for example, look near line 5628 at how
> virtio-serial ports are assigned using maxport and traversal of all
> previously assigned ports.
>
Is the code correct there?
The code is:
if (chr->info.type ==
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_VIRTIO_SERIAL &&
chr->info.addr.vioserial.port == 0) {
int maxport = 0;
virtio-serial has to start at port 1 (not 0, which is reserved), so
maxport starts at 0...
chr->info.addr.vioserial.port = maxport + 1;
and the assignment guarantees 1 or greater. But serial and parallel
support port 0, so start maxport at -1 instead of 0, to reuse the same
logic.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org