You need to sign in or sign up before continuing.
  1. 07 9月, 2019 1 次提交
  2. 06 9月, 2019 1 次提交
  3. 21 8月, 2019 1 次提交
  4. 09 8月, 2019 3 次提交
    • D
      remote: in per-driver daemons ensure that state initialize succeeds · 4ce29411
      Daniel P. Berrangé 提交于
      When running in libvirtd, we are happy for any of the drivers to simply
      skip their initialization in virStateInitialize, as other drivers are
      still potentially useful.
      
      When running in per-driver daemons though, we want the daemon to abort
      startup if the driver cannot initialize itself, as the daemon will be
      useless without it.
      Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      4ce29411
    • J
      qemu: Pass correct qemuCaps to virDomainDeviceDefPostParse · b449c270
      Jiri Denemark 提交于
      Since qemuDomainDeviceDefPostParse callback requires qemuCaps, we need
      to make sure it gets the capabilities stored in the domain's private
      data if the domain is running. Passing NULL may cause QEMU capabilities
      probing to be triggered in case QEMU binary changed in the meantime.
      When this happens while a running domain object is locked, QMP event
      delivered to the domain before QEMU capabilities probing finishes will
      deadlock the event loop.
      
      QEMU capabilities lookup (via domainPostParseDataAlloc callback) is
      hidden inside virDomainDeviceDefPostParseOne with no way to pass
      qemuCaps to virDomainDeviceDef* functions. This patch fixes all
      remaining paths leading to virDomainDeviceDefPostParse.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      b449c270
    • J
      qemu: Pass correct qemuCaps to virDomainDefCopy · bbcfa07b
      Jiri Denemark 提交于
      Since qemuDomainDefPostParse callback requires qemuCaps, we need to make
      sure it gets the capabilities stored in the domain's private data if the
      domain is running. Passing NULL may cause QEMU capabilities probing to
      be triggered in case QEMU binary changed in the meantime. When this
      happens while a running domain object is locked, QMP event delivered to
      the domain before QEMU capabilities probing finishes will deadlock the
      event loop.
      
      Several general functions from domain_conf.c were lazily passing NULL as
      the parseOpaque pointer instead of letting their callers pass the right
      data. This patch fixes all paths leading to virDomainDefCopy to do the
      right thing.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      bbcfa07b
  5. 06 8月, 2019 2 次提交
  6. 15 7月, 2019 1 次提交
  7. 11 7月, 2019 2 次提交
  8. 09 7月, 2019 2 次提交
  9. 17 6月, 2019 2 次提交
  10. 30 4月, 2019 1 次提交
  11. 26 4月, 2019 1 次提交
  12. 16 4月, 2019 3 次提交
  13. 06 3月, 2019 1 次提交
  14. 20 2月, 2019 1 次提交
    • E
      domain: Fix unknown flags diagnosis in virDomainGetXMLDesc · 27c8fd74
      Eric Blake 提交于
      Many drivers had a comment that they did not validate the incoming
      'flags' to virDomainGetXMLDesc() because they were relying on
      virDomainDefFormat() to do it instead. This used to be the case
      (at least since 461e0f1a and friends in 0.9.4 added unknown flag
      checking in general), but regressed in commit 0ecd6851 (1.2.12),
      when all of the drivers were changed to pass 'flags' through the
      new helper virDomainDefFormatConvertXMLFlags(). Since this helper
      silently ignores unknown flags, we need to implement flag checking
      in each driver instead.
      
      Annoyingly, this means that any new flag values added will silently
      be ignored when targeting an older libvirt, rather than our usual
      practice of loudly diagnosing an unsupported flag.  Add comments
      in domain_conf.[ch] to remind us to be extra vigilant about the
      impact when adding flags (a new flag to add data is safe if the
      older server omitting the requested data doesn't break things in
      the newer client; a new flag to suppress data rather than enhancing
      the existing VIR_DOMAIN_XML_SECURE may form a data leak or even a
      security hole).
      
      In the qemu driver, there are multiple callers all funnelling to
      qemuDomainDefFormatBufInternal(); many of them already validated
      flags (and often only a subset of the full set of possible flags),
      but for ease of maintenance, we can also check flags at the common
      helper function.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
      27c8fd74
  15. 31 1月, 2019 1 次提交
  16. 24 1月, 2019 1 次提交
    • J
      libxl: Set current memory value after successful balloon · 11c8aca9
      Jim Fehlig 提交于
      The libxl driver does not set the new memory value in the active domain def
      after a successful balloon. This results in the old memory value in
      <currentMemory>. E.g.
      
      virsh dumpxml test | grep currentMemory
        <currentMemory unit='KiB'>20971520</currentMemory>
      virsh setmem test 16777216 --live
      virsh dumpxml test | grep currentMemory
        <currentMemory unit='KiB'>20971520</currentMemory>
      
      Set the new memory value in active domain def after a successful call to
      libxl_set_memory_target().
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      11c8aca9
  17. 09 1月, 2019 1 次提交
  18. 14 12月, 2018 1 次提交
    • D
      Remove all Author(s): lines from source file headers · 60046283
      Daniel P. Berrangé 提交于
      In many files there are header comments that contain an Author:
      statement, supposedly reflecting who originally wrote the code.
      In a large collaborative project like libvirt, any non-trivial
      file will have been modified by a large number of different
      contributors. IOW, the Author: comments are quickly out of date,
      omitting people who have made significant contribitions.
      
      In some places Author: lines have been added despite the person
      merely being responsible for creating the file by moving existing
      code out of another file. IOW, the Author: lines give an incorrect
      record of authorship.
      
      With this all in mind, the comments are useless as a means to identify
      who to talk to about code in a particular file. Contributors will always
      be better off using 'git log' and 'git blame' if they need to  find the
      author of a particular bit of code.
      
      This commit thus deletes all Author: comments from the source and adds
      a rule to prevent them reappearing.
      
      The Copyright headers are similarly misleading and inaccurate, however,
      we cannot delete these as they have legal meaning, despite being largely
      inaccurate. In addition only the copyright holder is permitted to change
      their respective copyright statement.
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      60046283
  19. 11 12月, 2018 1 次提交
  20. 27 11月, 2018 1 次提交
  21. 15 9月, 2018 1 次提交
    • J
      libxl: drop support for Xen < 4.6 · 5bdcef13
      Jim Fehlig 提交于
      Currently the libxl driver claims support for Xen >= 4.4, but
      Xen 4.4 and 4.5 are no longer supported upstream. Let's increase
      the minimum supported Xen version to 4.6 and change the defined
      LIBXL_API_VERSION to 0x040500, which is the API version defined
      when Xen 4.6 was released.
      
      Since Xen 4.6 contains a pkgconfig file, drop the now unused code
      that falls back to using LIBVIRT_CHECK_LIB in the absence of
      pkgconfig file. In addition, bumping the LIBXL_API_VERSION
      required adjusting the calls to libxl_set_vcpuaffinity to account
      for the extra parameter in the 0x040500 version of the API.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      Reviewed-by: NJán Tomko <jtomko@redhat.com>
      5bdcef13
  22. 11 9月, 2018 1 次提交
  23. 10 9月, 2018 2 次提交
  24. 13 6月, 2018 1 次提交
  25. 28 5月, 2018 3 次提交
  26. 16 5月, 2018 1 次提交
    • J
      libxl: don't set hasManagedSave when performing save · ac4a12db
      Jim Fehlig 提交于
      libxlDoDomainSave() is used in both the save and managedsave code
      paths but was unconditionally setting hasManagedSave to true on
      success. As a result, undefine would fail after a non-managed
      save/restore operation. E.g.
      
      virsh define; virsh start
      virsh save; virsh restore
      virsh shutdown
      virsh undefine
      error: Refusing to undefine while domain managed save image exists
      
      Modify libxlDoDomainSave() to take an additional parameter to
      specify managed vs non-managed save, and change callers to use it.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      ac4a12db
  27. 04 5月, 2018 1 次提交
    • J
      conf: Clean up object referencing for Add and Remove · b04629b6
      John Ferlan 提交于
      When adding a new object to the domain object list, there should
      have been 2 virObjectRef calls made one for each list into which
      the object was placed to match the 2 virObjectUnref calls that
      would occur during Remove as part of virHashRemoveEntry when
      virObjectFreeHashData is called when the element is removed from
      the hash table as set up in virDomainObjListNew.
      
      Some drivers (libxl, lxc, qemu, and vz) handled this inconsistency
      by calling virObjectRef upon successful return from virDomainObjListAdd
      in order to use virDomainObjEndAPI when done with the returned @vm.
      While others (bhyve, openvz, test, and vmware) handled this via only
      calling virObjectUnlock upon successful return from virDomainObjListAdd.
      
      This patch will "unify" the approach to use virDomainObjEndAPI
      for any @vm successfully returned from virDomainObjListAdd.
      
      Because list removal is so tightly coupled with list addition,
      this patch fixes the list removal algorithm to return the object
      as entered - "locked and reffed".  This way, the callers can then
      decide how to uniformly handle add/remove success and failure.
      This removes the onus on the caller to "specially handle" the
      @vm during removal processing.
      
      The Add/Remove logic allows for some logic simplification such
      as in libxl where we can Remove the @vm directly rather than
      needing to set a @remove_dom boolean and removing after the
      libxlDomainObjEndJob completes as the @vm is locked/reffed.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      b04629b6
  28. 23 4月, 2018 2 次提交