1. 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
  2. 18 2月, 2019 3 次提交
  3. 13 2月, 2019 1 次提交
  4. 08 2月, 2019 12 次提交
  5. 06 2月, 2019 1 次提交
  6. 04 2月, 2019 3 次提交
  7. 01 2月, 2019 2 次提交
  8. 31 1月, 2019 5 次提交
  9. 30 1月, 2019 1 次提交
    • D
      qemu: fix recording of vCPU pids for MTTCG · 34f77437
      Daniel P. Berrangé 提交于
      MTTCG is the new multi-threaded impl of TCG which follows
      KVM in having one host OS thread per vCPU. Historically
      we have discarded all PIDs reported for TCG guests, but
      we must now selectively honour this data.
      
      We don't have anything in the domain XML that indicates
      whether a guest is using TCG or MTTCG. While QEMU does
      have an option (-accel tcg,thread=single|multi), it is
      not desirable to expose this in libvirt. QEMU will
      automatically use MTTCG when the host/guest architecture
      pairing is known to be safe. Only developers of QEMU TCG
      have a strong reason to override this logic.
      
      Thus we use two sanity checks to decide if the vCPU
      PID information is usable. First we see if the PID
      duplicates the main emulator PID, and second we see
      if the PID duplicates any other vCPUs.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      34f77437
  10. 28 1月, 2019 1 次提交
    • M
      lib: Use more of VIR_STEAL_PTR() · 5772885d
      Michal Privoznik 提交于
      We have this very handy macro called VIR_STEAL_PTR() which steals
      one pointer into the other and sets the other to NULL. The
      following coccinelle patch was used to create this commit:
      
        @ rule1 @
        identifier a, b;
        @@
      
        - b = a;
          ...
        - a = NULL;
        + VIR_STEAL_PTR(b, a);
      
      Some places were clean up afterwards to make syntax-check happy
      (e.g. some curly braces were removed where the body become a one
      liner).
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      Reviewed-by: NErik Skultety <eskultet@redhat.com>
      5772885d
  11. 25 1月, 2019 3 次提交
  12. 22 1月, 2019 4 次提交
  13. 18 1月, 2019 3 次提交