1. 05 10月, 2016 14 次提交
  2. 04 10月, 2016 1 次提交
  3. 30 9月, 2016 5 次提交
  4. 29 9月, 2016 5 次提交
    • M
      sanlock: Properly init io_timeout · 5fe66ea3
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1292984
      
      Hold on to your hats, because this is gonna be wild.
      
      In bd3e16a3 I've tried to expose sanlock io_timeout. What I had
      not realized (because there is like no documentation for sanlock
      at all) was very unusual way their APIs work. Basically, what we
      do currently is:
      
          sanlock_add_lockspace_timeout(&ls, io_timeout);
      
      which adds a lockspace to sanlock daemon. One would expect that
      io_timeout sets the io_timeout for it. Nah! That's where you are
      completely off the tracks. It sets timeout for next lockspace you
      will probably add later. Therefore:
      
         sanlock_add_lockspace_timeout(&ls, io_timeout = 10);
         /* adds new lockspace with default io_timeout */
      
         sanlock_add_lockspace_timeout(&ls, io_timeout = 20);
         /* adds new lockspace with io_timeout = 10 */
      
         sanlock_add_lockspace_timeout(&ls, io_timeout = 40);
         /* adds new lockspace with io_timeout = 20 */
      
      And so on. You get the picture.
      Fortunately, we don't allow setting io_timeout per domain or per
      domain disk. So we just need to set the default used in the very
      first step and hope for the best (as all the io_timeout-s used
      later will have the same value).
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      5fe66ea3
    • M
      m4: Check for sanlock_write_lockspace · 2bca7cec
      Michal Privoznik 提交于
      Currently, we are checking for sanlock_add_lockspace_timeout
      which is good for now. But in a subsequent patch we are going to
      use sanlock_write_lockspace (which sets an initial value for io
      timeout for sanlock). Now, there is no reason to check for both
      functions in sanlock library as the sanlock_write_lockspace was
      introduced in 2.7 release and the one we are currently checking
      for in the 2.5 release. Therefore it is safe to assume presence
      of sanlock_add_lockspace_timeout when sanlock_write_lockspace
      is detected.
      
      Moreover, the macro for conditional compilation is renamed to
      HAVE_SANLOCK_IO_TIMEOUT (as it now encapsulates two functions).
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      2bca7cec
    • M
      lock_driver_sanlock: Avoid global driver variable whenever possible · 78da4296
      Michal Privoznik 提交于
      Global variables are bad, we should avoid using them.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      78da4296
    • M
      qemu: Only use memory-backend-file with NUMA if needed · ff3112f3
      Martin Kletzander 提交于
      If this reminds you of a commit message from around a year ago, it's
      41c2aa72 and yes, we're dealing with
      "the same thing" again.  Or f309db1f and
      it's similar.
      
      There is a logic in place that if there is no real need for
      memory-backend-file, qemuBuildMemoryBackendStr() returns 0.  However
      that wasn't the case with hugepage backing.  The reason for that was
      that we abused the 'pagesize' variable for storing that information, but
      we should rather have a separate one that specifies whether we really
      need the new object for hugepage backing.  And that variable should be
      set only if this particular NUMA cell needs special treatment WRT
      hugepages.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1372153Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      ff3112f3
    • R
      bhyve: chase cpuCompareXML rename · 13aa7984
      Roman Bogorodskiy 提交于
      In commit 7f127ded cpuCompareXML was renamed to virCPUCompareXML,
      so change the bhyve driver to use the new function and thus
      fix the build.
      13aa7984
  5. 28 9月, 2016 5 次提交
    • 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
      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
  6. 27 9月, 2016 4 次提交
  7. 26 9月, 2016 6 次提交