1. 27 9月, 2019 1 次提交
  2. 19 9月, 2019 2 次提交
  3. 20 8月, 2019 1 次提交
  4. 09 8月, 2019 1 次提交
    • J
      qemu: Pass correct qemuCaps to virDomainDefParseNode · 577a1f98
      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 snapshot and checkpoint APIs were lazily passing NULL as
      the parseOpaque pointer instead of letting their callers pass the right
      data. This patch fixes all paths leading to virDomainDefParseNode.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      577a1f98
  5. 08 8月, 2019 2 次提交
  6. 30 7月, 2019 1 次提交
    • E
      build: Fix checkpoint_conf on mingw · fed58d83
      Eric Blake 提交于
      CI flagged a failing mingw build, due to:
      In file included from ../../src/conf/checkpoint_conf.c:24:
      ../gnulib/lib/configmake.h:8:17: error: expected identifier or '(' before string constant
          8 | #define DATADIR "/usr/i686-w64-mingw32/sys-root/mingw/share"
            |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      As previously learned in commits bd205a90 and 976abdf6, gnulib's
      configmake.h header does #define DATADIR "string...", while mingw's
      <winsock2.h> expects to declare a type named DATADIR. As long as the
      mingw system header is included first before configmake.h, the two
      uses do not conflict, but until gnulib is patched to make configmake.h
      automatically work around the issue, our immediate fix is the
      workaround of rearranging our include order to insure no conflict.
      Copy the paradigm used in domain_conf.c of using <unistd.h> to trigger
      the indirect inclusion of <winsock2.h> on mingw.
      
      Fixes: 1a4df34aSigned-off-by: NEric Blake <eblake@redhat.com>
      fed58d83
  7. 28 7月, 2019 1 次提交
  8. 27 7月, 2019 2 次提交
    • E
      backup: Add list of checkpoints to domain · b736619f
      Eric Blake 提交于
      Wire up the use of a checkpoint list into each domain, similar to the
      existing snapshot list.  This includes adding a function for checking
      that a redefine operation fits in with the existing list, as well as
      various filtering capabilities over the list contents.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      b736619f
    • E
      backup: Parse and output checkpoint XML · 1a4df34a
      Eric Blake 提交于
      Add a new file checkpoint_conf.c that performs the translation to and
      from new XML describing a checkpoint. The code shares a common base
      class with snapshots, since a checkpoint similarly represents the
      domain state at a moment in time. Add some basic testing of round trip
      XML handling through the new code.
      
      Of note - this code intentionally differs from snapshots in that XML
      schema validation is unconditional, rather than based on a public API
      flag.  We have many existing interfaces that still need to add a flag
      for opt-in schema validation, but those interfaces have existing
      clients that may not have been producing strictly-compliant XML, or we
      may still uncover bugs where our RNG grammar is inconsistent with our
      code (where omitting the opt-in flag allows existing apps to keep
      working while waiting for an RNG patch).  But since checkpoints are
      brand-new, it's easier to ensure the code matches the schema by always
      using the schema.  If needed, a later patch could extend the API and
      add a flag to turn on to request schema validation, rather than having
      it forced (possibly just the validation of the <domain> sub-element
      during REDEFINE) - but if a user encounters XML that looks like it
      should be good but fails to validate with our RNG schema, they would
      either have to upgrade to a new libvirt that adds the new flag, or
      upgrade to a new libvirt that fixes the RNG schema, which implies
      adding such a flag won't help much.
      
      Also, the redefine flag requires the <domain> sub-element to be
      present, rather than catering to historical back-compat to older
      versions.
      Signed-off-by: NEric Blake <eblake@redhat.com>
      1a4df34a