[libvirt] [PATCH v4 06/14] graphics: resolve address for listen type network in qemu_process

Cole Robinson crobinso at redhat.com
Thu May 19 21:35:23 UTC 2016


On 05/19/2016 04:50 PM, Cole Robinson wrote:
> On 05/19/2016 07:35 AM, Pavel Hrdina wrote:
>> Both VNC and SPICE requires the same code to resolve address for listen
>> type network.  Remove code duplication and create a new function that
>> will be used in qemuProcessSetupGraphics().
>>
>> Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
>> ---
>>  src/qemu/qemu_command.c | 103 ++++++------------------------------------------
>>  src/qemu/qemu_process.c |  47 +++++++++++++++++++++-
>>  2 files changed, 57 insertions(+), 93 deletions(-)

>> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
>> index f4bf6c1..75c8e53 100644
>> --- a/src/qemu/qemu_process.c
>> +++ b/src/qemu/qemu_process.c
>> @@ -4388,6 +4388,32 @@ qemuProcessGraphicsReservePorts(virQEMUDriverPtr driver,
>>  
>>  
>>  static int
>> +qemuProcessGraphicsSetupNetworkAddress(virDomainGraphicsListenDefPtr glisten,
>> +                                       const char *listenAddr)
>> +{
>> +    int rc;
>> +
>> +    if (!glisten->network) {
>> +        if (VIR_STRDUP(glisten->address, listenAddr) < 0)
>> +            return -1;
>> +        return 0;
>> +    }
>> +
> 
> This is a logic change. Previously we accept this XML
> 
> <graphics ...>
>   <listen type='network'/>
> </graphics>
> 
> and silently treat that as using vnc_listen/spice_listen. Now we stick that
> address in the XML like
> 
> <graphics ...>
>   <listen type='network' address='$vnc_listen'/>
> </graphics>
> 
> Which at least is more explicit, but it is a logic change. Just shows that the
> address type='network' stuff needs more test coverage at least. I think at
> some point we should reject bare type='network' if it doesn't have a @network
> attribute
> 
> If that change was intentional it should be an additive patch after this
> cleanup, with a test case
> 

Hmm okay I see that it must be intentional, because the qemu_command code now
depends on glisten->address. So ACK to this as long as you add a todo item to
add some test cases for this stuff, and to figure out the bare <listen
type='network'/> weirdness

Thanks,
Cole




More information about the libvir-list mailing list