1. 19 12月, 2015 1 次提交
    • J
      Xen: support maxvcpus in xm and xl config · 5b74103b
      Jim Fehlig 提交于
      From: Ian Campbell <ian.campbell@citrix.com>
      
      xend prior to 4.0 understands vcpus as maxvcpus and vcpu_avail
      as a bit map of which cpus are online (default is all).
      
      xend from 4.0 onwards understands maxvcpus as maxvcpus and
      vcpus as the number which are online (from 0..N-1). The
      upstream commit (68a94cf528e6 "xm: Add maxvcpus support")
      claims that if maxvcpus is omitted then the old behaviour
      (i.e. obeying vcpu_avail) is retained, but AFAICT it was not,
      in this case vcpu==maxcpus==online cpus. This is good for us
      because handling anything else would be fiddly.
      
      This patch changes parsing of the virDomainDef maxvcpus and vcpus
      entries to use the corresponding 'maxvcpus' and 'vcpus' settings
      from xm and xl config. It also drops use of the old Xen 3.x
      'vcpu_avail' setting.
      
      The change also removes the maxvcpus limit of MAX_VIRT_VCPUS (since
      maxvcpus is simply a count, not a bit mask), which is particularly
      crucial on ARM where MAX_VIRT_CPUS == 1 (since all guests are
      expected to support vcpu placement, and therefore only the boot
      vcpu's info lives in the shared info page).
      
      Existing tests adjusted accordingly, and new tests added for the
      'maxvcpus' setting.
      5b74103b
  2. 18 12月, 2015 13 次提交
  3. 17 12月, 2015 18 次提交
  4. 16 12月, 2015 8 次提交
    • M
      qemu: Search all nodes for shared memory access · 68d4245d
      Martin Kletzander 提交于
      In commit 686eb7a2, the break was not considered part of the
      condition, hence breaking after first node when searching.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      68d4245d
    • A
      pci: Use virPCIDeviceAddress in virPCIDevice · 77434541
      Andrea Bolognani 提交于
      Instead of replicating the information (domain, bus, slot, function)
      inside the virPCIDevice structure, use the already-existing
      virPCIDeviceAddress structure.
      
      For users of the module, this means that the object returned by
      virPCIDeviceGetAddress() can no longer be NULL and must no longer
      be freed by the caller.
      77434541
    • J
      libxl: implement virDomainGetJobStats · b7b43919
      Joao Martins 提交于
      Introduces support for domainGetJobStats which has the same
      info as domainGetJobInfo but in a slightly different format.
      Another difference is that virDomainGetJobStats can also
      retrieve info on the most recently completed job. Though so
      far this is only used in the source node to know if the
      migration has been completed. But because we don't support
      completed jobs we will deliver an error.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      b7b43919
    • J
      libxl: implement virDomainGetJobInfo · ad716651
      Joao Martins 提交于
      Introduce support for domainGetJobInfo to get info about the
      ongoing job. If the job is active it will update the
      timeElapsed which is computed with the "started" field added to
      struct libxlDomainJobObj.  For now we support just the very basic
      info and all jobs have VIR_DOMAIN_JOB_UNBOUNDED (i.e. no completion
      time estimation) plus timeElapsed computed.
      
      Openstack Kilo uses the Job API to monitor live-migration
      progress which is currently nonexistent in libxl driver and
      therefore leads to a crash in the nova compute node. Right
      now, migration doesn't use jobs in the source node and will
      return VIR_DOMAIN_JOB_NONE. Though nova handles this case and
      will migrate it properly instead of crashing.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      ad716651
    • J
      storage: Add helper to compare logical pool def against pvs output · 71b803ac
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1025230
      
      Add a new helper virStorageBackendLogicalMatchPoolSource to compare the
      pool's source name against the output from a 'pvs' command to list all
      volume group physical volume data on the host.  In addition, compare the
      pool's source device list against the particular volume group's device
      list to ensure the source device(s) listed for the pool match what the
      was listed for the volume group.
      
      Then for pool startup or check API's we need to call this new API in
      order to ensure that the pool we're about to start or declare active
      during checkPool has a valid definition vs. the running host.
      71b803ac
    • J
      storage: Create helper for virStorageBackendLogicalFindPoolSources · ae5519f7
      John Ferlan 提交于
      Rework virStorageBackendLogicalFindPoolSources a bit to create a
      helper virStorageBackendLogicalGetPoolSources that will make the
      pvs call in order to generate a list of associated pv_name and vg_name's.
      
      A future patch will make use of this for start/check processing to
      ensure the storage pool source definition matches expectations.
      ae5519f7
    • J
      storage: Check FS pool source during virStorageBackendFileSystemIsMounted · dae7007d
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1025230
      
      When determining whether a FS pool is mounted, rather than assuming that
      the FS pool is mounted just because the target.path is in the mount list,
      let's make sure that the FS pool source matches what is mounted
      dae7007d
    • J
      storage: Refactor virStorageBackendFileSystemGetPoolSource · 61c29fe5
      John Ferlan 提交于
      Refactor code to use standard return functioning with respect to setting
      a ret value and going to cleanup.
      61c29fe5