[libvirt] [PATCHv2 3/5] Allocate virtio-serial addresses when starting a domain

John Ferlan jferlan at redhat.com
Tue Mar 24 14:02:36 UTC 2015



On 03/24/2015 07:41 AM, Ján Tomko wrote:
> On Mon, Mar 23, 2015 at 05:46:23PM -0400, John Ferlan wrote:
>>

...

>>
>> Mostly for my edification... These examples previously although
>> indicating they were "auto-assign" (of sorts) really weren't - they were
>> more force-assign for each example.
> 
> Force-assign after this patch? Otherwise I don't understand.
> 

I started writing this before figuring out the second part and just
didn't go back re-read my original thought... But I think I was trying
to point out that the "existing" code doesn't really auto assign and
after your patch these changes are doing that, hence why set to
port='0'... I agree with not force-assign, but was just making sure...

>> The way to auto-assign is by setting port='0', correct?
>>
> 
> Yes.
> 
>> However, I'm still missing something from the *auto.args output. It
>> seems the controller='#' is ignored and I guess I don't understand
>> that...
> 
> I must've overlooked that.
> It shouldn't be a problem to take it as a hint in virDomainVirtioSerialAddrAssign.
> 

Right so I figured out after I sent this, but figured you'd know that
anyway.

>> Sure "port='0'" (meaning first available port on the
>> controller), but I would have expected to see :
>>
>> kvm.port.0 use "virtio.serial.0.0,nr=1..." (which it does)
>> kvm.port.foo use "virtio.serial.1.0,nr=1..." (on controller 0?, but XML
>> has controller='1')
>> kvm.port.bar use "virtio.serial.1.0,nr=3..." (which it does)
>> kvm.port.wizz use "virtio.serial.0.0,nr=2" (incorrect due to others)
>> kvm.port.ooh use "virtio.serial.1.0,nr=2", (on controller 0?, but XML
>> has controller='1'
>> kvm.port.lla use "virtio.serial.2.0,nr=1" (on controller 0?, but XML has
>> controller='2')
>>
>> Now if been if "lla" used controller='0', then I assume would nr=4 be
>> chosen since 1,2 were auto-assigned, 3 was specifically assigned, thus 4
>> would be the next one.
>>
>> Continuing with that same logic, the *-autoassign example could have
>> shown that if controller='0',port='2' and 'controller='1',port='1' were
>> preassigned, then the controllers/ports assigned would be 0.0,nr=1,
>> 0.0,nr=3, 0.0,nr=4, 1.0,nr=2  (since only 4 ports on controller='0' can
>> be used w/ 2 be static and controller='1' having port '1' already in use).
>>
> 
> nr=4 is out of bounds for a controller with 4 ports.
> The ports are numbered from 0, but port number 0 can only be used for
> virtconsoles, not channels.
> 

Oh yeah - right...doh! Too much context switching sometimes causes loses
of brain to finger functions...

John




More information about the libvir-list mailing list