1. 18 11月, 2017 11 次提交
  2. 17 11月, 2017 1 次提交
    • J
      storage: Resolve storage driver crash · 2dd70901
      John Ferlan 提交于
      Resolve a storage driver crash as a result of a long running
      storageVolCreateXML when the virStorageVolPoolRefreshThread is
      run as a result of when a storageVolUpload completed and ran the
      virStoragePoolObjClearVols without checking if the creation
      code was currently processing a buildVol after incrementing
      the driver->asyncjob count.
      
      The refreshThread will now check the pool asyncjob count before
      attempting to pursue the pool refresh. Adjust the documentation
      to describe the condition.
      
      Crash from valgrind is as follows (with a bit of editing):
      
      ==21309== Invalid read of size 8
      ==21309==    at 0x153E47AF: storageBackendUpdateVolTargetInfo
      ==21309==    by 0x153E4C30: virStorageBackendUpdateVolInfo
      ==21309==    by 0x153E52DE: virStorageBackendVolRefreshLocal
      ==21309==    by 0x153DE29E: storageVolCreateXML
      ==21309==    by 0x562035B: virStorageVolCreateXML
      ==21309==    by 0x147366: remoteDispatchStorageVolCreateXML
      ...
      ==21309==  Address 0x2590a720 is 64 bytes inside a block of size 336 free'd
      ==21309==    at 0x4C2F2BB: free
      ==21309==    by 0x54CB9FA: virFree
      ==21309==    by 0x55BC800: virStorageVolDefFree
      ==21309==    by 0x55BF1D8: virStoragePoolObjClearVols
      ==21309==    by 0x153D967E: virStorageVolPoolRefreshThread
      ...
      ==21309==  Block was alloc'd at
      ==21309==    at 0x4C300A5: calloc
      ==21309==    by 0x54CB483: virAlloc
      ==21309==    by 0x55BDC1F: virStorageVolDefParseXML
      ==21309==    by 0x55BDC1F: virStorageVolDefParseNode
      ==21309==    by 0x55BE5A4: virStorageVolDefParse
      ==21309==    by 0x153DDFF1: storageVolCreateXML
      ==21309==    by 0x562035B: virStorageVolCreateXML
      ==21309==    by 0x147366: remoteDispatchStorageVolCreateXML
      ...
      2dd70901
  3. 16 11月, 2017 1 次提交
  4. 15 11月, 2017 2 次提交
  5. 14 11月, 2017 2 次提交
  6. 13 11月, 2017 12 次提交
    • P
      conf: Fix message when maximum vCPU count is less than current · 50712e14
      Peter Krempa 提交于
      Reword the message and drop the numbers (which were reversed) from it
      so that it actually makes sense.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1509151
      50712e14
    • P
      qemu: process: Setup disk secrets when preparing disks · acc15025
      Peter Krempa 提交于
      Setup everything related to disks in one place rather than calling in
      from various places.
      
      The change to ordering of the setup steps is necessary since secrets
      need the master key to be present.
      acc15025
    • P
    • P
      qemu: Tolerate storage source private data being NULL · 8056721c
      Peter Krempa 提交于
      In some cases it does not make sense to pursue that the private data
      will be allocated (especially when we don't need to put anything in it).
      
      Ensure that the code works without it.
      
      This also fixes few crashes pointed out in
      https://bugzilla.redhat.com/show_bug.cgi?id=1510323
      8056721c
    • P
      qemu: parse: Allocate disk definition with private data · 994c49ac
      Peter Krempa 提交于
      Use virDomainDiskDefNew instead of VIR_ALLOC in
      qemuParseCommandLineDisk.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1510781
      994c49ac
    • P
      qemu: block: Don't leak server JSON object from protocol generators · 9249187f
      Peter Krempa 提交于
      If creation of the main JSON object containing the storage portion of a
      virStorageSource would fail but we'd allocate the server structure we'd
      leak it. Found by coverity.
      9249187f
    • P
      qemu: block: Break out early on invalid storage sources · bb15ac45
      Peter Krempa 提交于
      Return NULL right away in qemuBlockStorageSourceGetBackendProps when an
      invalid storage source is presented so that virJSONValueObjectAdd isn't
      called with a NULL argument.
      
      Found by coverity.
      bb15ac45
    • P
      conf: Properly parse <backingStore/> · 19448a25
      Peter Krempa 提交于
      The terminator would not be parsed properly since the XPath selector was
      looking for an populated element, and also the code did not bother
      assigning the terminating virStorageSourcePtr to the backingStore
      property of the parent.
      
      Some tests would catch it if there wasn't bigger fallout from the change
      to backing store termination in a693fdba. Fix them properly now.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1509110
      19448a25
    • M
      Revert "virNetDevSupportBandwidth: Enable QoS for vhostuser" · 676768ed
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1497410
      
      This reverts commit bc8a99ef.
      
      The vhostuser is not a TAP. Therefore our QoS code is not able to
      set any bandwidth. I don't really understand what I was thinking.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      676768ed
    • W
      libxl: vnuma support · c9a5682f
      Wim ten Have 提交于
      This patch generates a NUMA distance-aware libxl description from the
      information extracted from a NUMA distance-aware libvirt XML file.
      
      By default, if no NUMA node distance information is supplied in the
      libvirt XML file, this patch uses the distances 10 for local and 20
      for remote nodes/sockets.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NJim Fehlig <jfehlig@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      c9a5682f
    • W
      xenconfig: add domxml conversions for xen-xl · 03d0959a
      Wim ten Have 提交于
      This patch converts NUMA configurations between the Xen libxl
      configuration file format and libvirt's XML format.
      
      XML HVM domain on a 4 node (2 cores/socket) configuration:
      
        <cpu>
          <numa>
            <cell id='0' cpus='0-1' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='10'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='31'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='1' cpus='2-3' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='10'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='31'/>
              </distances>
            </cell>
            <cell id='2' cpus='3-4' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='31'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='10'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='3' cpus='5-6' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='31'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='10'/>
              </distances>
            </cell>
          </numa>
        </cpu>
      
      Xen xl.cfg domain configuration:
      
        vnuma = [["pnode=0","size=2048","vcpus=0-1","vdistances=10,21,31,21"],
                 ["pnode=1","size=2048","vcpus=2-3","vdistances=21,10,21,31"],
                 ["pnode=2","size=2048","vcpus=4-5","vdistances=31,21,10,21"],
                 ["pnode=3","size=2048","vcpus=6-7","vdistances=21,31,21,10"]]
      
      If there is no XML <distances> description amongst the <cell> data the
      conversion schema from xml to native will generate 10 for local and 20
      for all remote instances.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NJim Fehlig <jfehlig@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      03d0959a
    • W
      numa: describe siblings distances within cells · 74119a03
      Wim ten Have 提交于
      Add support for describing NUMA distances in a domain's <numa> <cell>
      XML description.
      
      Below is an example of a 4 node setup:
      
        <cpu>
          <numa>
            <cell id='0' cpus='0-3' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='10'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='31'/>
                <sibling id='3' value='21'/>
              </distances>
            </cell>
            <cell id='1' cpus='4-7' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='10'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='31'/>
              </distances>
            </cell>
            <cell id='2' cpus='8-11' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='31'/>
                <sibling id='1' value='21'/>
                <sibling id='2' value='10'/>
                <sibling id='3' value='21'/>
              </distances>
            <cell id='3' cpus='12-15' memory='2097152' unit='KiB'>
              <distances>
                <sibling id='0' value='21'/>
                <sibling id='1' value='31'/>
                <sibling id='2' value='21'/>
                <sibling id='3' value='10'/>
              </distances>
            </cell>
          </numa>
        </cpu>
      
      A <cell> defines a NUMA node. <distances> describes the NUMA distance
      from the <cell> to the other NUMA nodes (the <sibling>s).  For example,
      in above XML description, the distance between NUMA node0 <cell id='0'
      ...> and NUMA node2 <sibling id='2' ...> is 31.
      
      Valid distance values are '10 <= value <= 255'.  A distance value of 10
      represents the distance to the node itself.  A distance value of 20
      represents the default value for remote nodes but other values are
      possible depending on the physical topology of the system.
      
      When distances are not fully described, any missing sibling distance
      values will default to 10 for local nodes and 20 for remote nodes.
      
      If distance is given for A -> B, then we default B -> A to the same
      value instead of 20.
      Signed-off-by: NWim ten Have <wim.ten.have@oracle.com>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      74119a03
  7. 10 11月, 2017 4 次提交
    • M
      qemuBuildDriveDevStr: Prefer default aliases for IDE bus · 9324f67a
      Michal Privoznik 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1434451
      
      When testing user aliases it was discovered that for 440fx
      machine type which has default IDE bus builtin, domain cannot
      start if IDE controller has the user provided alias. This is
      because for 440fx we don't put the IDE controller onto the
      command line (since it is builtin) and therefore any device that
      is plugged onto the bus must use the default alias.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      9324f67a
    • V
      numa: avoid failure in nodememstats on non-NUMA systems · 010f88d5
      Viktor Mihajlovski 提交于
      libvirt reports a fake NUMA topology in virConnectGetCapabilities
      even if built without numactl support. The fake NUMA topology consists
      of a single cell representing the host's cpu and memory resources.
      Currently this is the case for ARM and s390[x] RPM builds.
      
      A client iterating over NUMA cells obtained via virConnectGetCapabilities
      and invoking virNodeGetMemoryStats on them will see an internal failure
      "NUMA isn't available on this host" from virNumaGetMaxNode. An example
      for such a client is VDSM.
      
      Since the intention seems to be that libvirt always reports at least
      a single cell it is necessary to return "fake" node memory statistics
      matching the previously reported fake cell in case NUMA isn't supported
      on the system.
      Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
      010f88d5
    • D
      vbox: Add support for 5.2.x · 0eda09f4
      Dawid Zamirski 提交于
      Simply add the 5.2 SDK header to the existing unified framework. No
      other special handling is needed as there's no API break between
      existing 5.1 and the just added 5.2.
      0eda09f4
    • D
      vbox: Add vbox 5.2 CAPI header file. · 8f1c88d9
      Dawid Zamirski 提交于
      Extracted from 5.2 SDK and reindented with cppi
      8f1c88d9
  8. 09 11月, 2017 2 次提交
  9. 08 11月, 2017 5 次提交