1. 28 9月, 2016 6 次提交
    • J
      libxl: fix param assignment in domainGetSchedulerParameters · 4c600de7
      Jim Fehlig 提交于
      Due to a copy and paste error, the scheduler 'cap' parameter
      was over-writing the 'weight' parameter when preparing the
      return parameters in libxlDomainGetSchedulerParametersFlags.
      As a result, the scheduler weight was never shown when getting
      schedinfo and setting the weight failed as well
      
      virsh  schedinfo testvm
      Scheduler      : credit
      cap            : 0
      
      virsh  schedinfo testvm --cap 50 --weight 500
      Scheduler      : credit
      error: invalid scheduler option: weight
      
      The obvious fix is to assign the 'caps' parameter to the correct
      item in the parameter list.
      Reported-by: NVolo M. <vm@vovs.net>
      4c600de7
    • J
      bff2f781
    • J
      xenconfig: channels conversion support · 9a683f88
      Joao Martins 提交于
      Add support for formating/parsing libxl channels.
      
      Syntax on xen libxl goes as following:
      channel=["connection=pty|socket,path=/path/to/socket,name=XXX",...]
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      Acked-by: NJim Fehlig <jfehlig@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      9a683f88
    • J
      libxl: channels support · 719b663f
      Joao Martins 提交于
      And allow libxl to handle channel element which creates a Xen
      console visible to the guest as a low-bandwitdh communication
      channel. If type is PTY we also fetch the tty after boot using
      libxl_channel_getinfo to fetch the tty path. On socket case,
      we autogenerate a path if not specified in the XML. Path autogenerated
      is slightly different from qemu driver: qemu stores also on
      "channels/target" but it creates then a directory per domain with
      each channel target name. libxl doesn't appear to have a clear
      definition of private files associated with each domain, so for
      simplicity we do it slightly different. On qemu each autogenerated
      channel goes like:
      
      channels/target/<domain-name>/<target name>
      
      Whereas for libxl:
      
      channels/target/<domain-name>-<target name>
      
      Should note that if path is not specified it won't persist,
      existing only on live XML, unless user had initially specified it.
      Since support for libxl channels only came on Xen >= 4.5 we therefore
      need to conditionally compile it with LIBXL_HAVE_DEVICE_CHANNEL.
      
      After this patch and having a qemu guest agent:
       $ cat domain.xml | grep -a1 channel | head -n 5 | tail -n 4
       <channel type='unix'>
         <source mode='bind' path='/tmp/channel'/>
         <target type='xen' name='org.qemu.guest_agent.0'/>
       </channel>
      
       $ virsh create domain.xml
       $ echo '{"execute":"guest-network-get-interfaces"}' | socat
       stdio,ignoreeof  unix-connect:/tmp/channel
      
       {"execute":"guest-network-get-interfaces"}
       {"return": [{"name": "lo", "ip-addresses": [{"ip-address-type": "ipv4",
       "ip-address": "127.0.0.1", "prefix": 8}, {"ip-address-type": "ipv6",
       "ip-address": "::1", "prefix": 128}], "hardware-address":
       "00:00:00:00:00:00"}, {"name": "eth0", "ip-addresses":
       [{"ip-address-type": "ipv4", "ip-address": "10.100.0.6", "prefix": 24},
       {"ip-address-type": "ipv6", "ip-address": "fe80::216:3eff:fe40:88eb",
       "prefix": 64}], "hardware-address": "00:16:3e:40:88:eb"}, {"name":
       "sit0"}]}
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      719b663f
    • J
      conf: add xen type for channels · 031abbc5
      Joao Martins 提交于
      So far only guestfwd and virtio were supported. Add an additional
      for Xen as libxl channels create a Xen console visible to the guest.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      031abbc5
    • J
      qemu: Fix crash in qemucapsprobe · c2c43912
      Jiri Denemark 提交于
      The qemucapsprobe helper calls virQEMUCapsNewForBinaryInternal with
      caps == NULL, causing the following crash:
      
          Program received signal SIGSEGV, Segmentation fault.
          #0  0x00007ffff788775f in virQEMUCapsInitHostCPUModel
              (qemuCaps=qemuCaps@entry=0x649680, host=host@entry=0x10) at
              src/qemu/qemu_capabilities.c:2969
          #1  0x00007ffff7889dbf in virQEMUCapsNewForBinaryInternal
              (caps=caps@entry=0x0, binary=<optimized out>,
              libDir=libDir@entry=0x4033f6 "/tmp", cacheDir=cacheDir@entry=0x0,
              runUid=runUid@entry=4294967295, runGid=runGid@entry=4294967295,
              qmpOnly=true) at src/qemu/qemu_capabilities.c:4039
          #2  0x0000000000401702 in main (argc=2, argv=0x7fffffffd968) at
              tests/qemucapsprobe.c:73
      
      Caused by v2.2.0-182-g68c70118.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      c2c43912
  2. 27 9月, 2016 7 次提交
  3. 26 9月, 2016 22 次提交
  4. 24 9月, 2016 1 次提交
  5. 23 9月, 2016 4 次提交