Skip to content
Snippets Groups Projects
  1. May 16, 2022
  2. Apr 21, 2022
  3. Apr 05, 2022
  4. Mar 31, 2022
  5. Feb 28, 2022
  6. Jan 28, 2022
  7. Nov 09, 2021
  8. Nov 06, 2021
  9. Nov 01, 2021
  10. Oct 29, 2021
  11. Aug 26, 2021
  12. Jun 08, 2021
  13. May 13, 2021
  14. Apr 20, 2021
  15. Mar 18, 2021
  16. Feb 12, 2021
    • Peter Krempa's avatar
      migration: dirty-bitmap: Allow control of bitmap persistence · 6e9f21a2
      Peter Krempa authored
      
      Bitmap's source persistence is transported over the migration stream and
      the destination mirrors it. In some cases the destination might want to
      persist bitmaps which are not persistent on the source (e.g. the result
      of merging bitmaps from a number of layers on the source when migrating
      into a squashed image) but currently it would need to create another set
      of persistent bitmaps and merge them.
      
      This patch adds a 'transform' property to the alias map which allows
      overriding the persistence of migrated bitmaps both on the source and
      destination sides.
      
      Signed-off-by: default avatarPeter Krempa <pkrempa@redhat.com>
      Message-Id: <b20afb675917b86f6359ac3591166ac6d4233573.1613150869.git.pkrempa@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      [eblake: grammar tweaks, drop dead conditional]
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      6e9f21a2
  17. Feb 08, 2021
    • Daniel P. Berrangé's avatar
      migration: introduce snapshot-{save, load, delete} QMP commands · 0f0d83a4
      Daniel P. Berrangé authored
      
      savevm, loadvm and delvm are some of the few HMP commands that have never
      been converted to use QMP. The reasons for the lack of conversion are
      that they blocked execution of the event thread, and the semantics
      around choice of disks were ill-defined.
      
      Despite this downside, however, libvirt and applications using libvirt
      have used these commands for as long as QMP has existed, via the
      "human-monitor-command" passthrough command. IOW, while it is clearly
      desirable to be able to fix the problems, they are not a blocker to
      all real world usage.
      
      Meanwhile there is a need for other features which involve adding new
      parameters to the commands. This is possible with HMP passthrough, but
      it provides no reliable way for apps to introspect features, so using
      QAPI modelling is highly desirable.
      
      This patch thus introduces new snapshot-{load,save,delete} commands to
      QMP that are intended to replace the old HMP counterparts. The new
      commands are given different names, because they will be using the new
      QEMU job framework and thus will have diverging behaviour from the HMP
      originals. It would thus be misleading to keep the same name.
      
      While this design uses the generic job framework, the current impl is
      still blocking. The intention that the blocking problem is fixed later.
      None the less applications using these new commands should assume that
      they are asynchronous and thus wait for the job status change event to
      indicate completion.
      
      In addition to using the job framework, the new commands require the
      caller to be explicit about all the block device nodes used in the
      snapshot operations, with no built-in default heuristics in use.
      
      Note that the existing "query-named-block-nodes" can be used to query
      what snapshots currently exist for block nodes.
      
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20210204124834.774401-13-berrange@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
        dgilbert: removed tests for now, the output ordering isn't
      deterministic
      0f0d83a4
    • Dr. David Alan Gilbert's avatar
      migration: Add blocker information · 3af8554b
      Dr. David Alan Gilbert authored
      
      Modify query-migrate so that it has a flag indicating if outbound
      migration is blocked, and if it is a list of reasons.
      
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210202135522.127380-2-dgilbert@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      3af8554b
    • Markus Armbruster's avatar
      migration: Clean up signed vs. unsigned XBZRLE cache-size · 8b9407a0
      Markus Armbruster authored
      
      73af8dd8 "migration: Make xbzrle_cache_size a migration
      parameter" (v2.11.0) made the new parameter unsigned (QAPI type
      'size', uint64_t in C).  It neglected to update existing code, which
      continues to use int64_t.
      
      migrate_xbzrle_cache_size() returns the new parameter.  Adjust its
      return type.
      
      QMP query-migrate-cache-size returns migrate_xbzrle_cache_size().
      Adjust its return type.
      
      migrate-set-parameters passes the new parameter to
      xbzrle_cache_resize().  Adjust its parameter type.
      
      xbzrle_cache_resize() passes it on to cache_init().  Adjust its
      parameter type.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210202141734.2488076-3-armbru@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      8b9407a0
    • Markus Armbruster's avatar
      migration: Fix migrate-set-parameters argument validation · ec17de0a
      Markus Armbruster authored
      
      Commit 741d4086 "migration: Use proper types in json" (v2.12.0)
      switched MigrationParameters to narrower integer types, and removed
      the simplified qmp_migrate_set_parameters()'s argument checking
      accordingly.
      
      Good idea, except qmp_migrate_set_parameters() takes
      MigrateSetParameters, not MigrationParameters.  Its job is updating
      migrate_get_current()->parameters (which *is* of type
      MigrationParameters) according to its argument.  The integers now get
      truncated silently.  Reproducer:
      
          ---> {'execute': 'query-migrate-parameters'}
          <--- {"return": {[...] "compress-threads": 8, [...]}}
          ---> {"execute": "migrate-set-parameters", "arguments": {"compress-threads": 257}}
          <--- {"return": {}}
          ---> {'execute': 'query-migrate-parameters'}
          <--- {"return": {[...] "compress-threads": 1, [...]}}
      
      Fix by resynchronizing MigrateSetParameters with MigrationParameters.
      
      Fixes: 741d4086
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Message-Id: <20210202141734.2488076-2-armbru@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      ec17de0a
    • Andrey Gruzdev's avatar
      migration: introduce 'background-snapshot' migration capability · 6e8c25b4
      Andrey Gruzdev authored
      
      Add new capability to 'qapi/migration.json' schema.
      Update migrate_caps_check() to validate enabled capability set
      against introduced one. Perform checks for required kernel features
      and compatibility with guest memory backends.
      
      Signed-off-by: default avatarAndrey Gruzdev <andrey.gruzdev@virtuozzo.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20210129101407.103458-2-andrey.gruzdev@virtuozzo.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      6e8c25b4
  18. Dec 10, 2020
  19. Nov 01, 2020
  20. Oct 21, 2020
  21. Oct 12, 2020
  22. Sep 29, 2020
  23. Sep 25, 2020
  24. Sep 07, 2020
  25. Aug 21, 2020
  26. Aug 03, 2020
    • Andrea Bolognani's avatar
      schemas: Add vim modeline · f7160f32
      Andrea Bolognani authored
      
      The various schemas included in QEMU use a JSON-based format which
      is, however, strictly speaking not valid JSON.
      
      As a consequence, when vim tries to apply syntax highlight rules
      for JSON (as guessed from the file name), the result is an unreadable
      mess which mostly consist of red markers pointing out supposed errors
      in, well, pretty much everything.
      
      Using Python syntax highlighting produces much better results, and
      in fact these files already start with specially-formatted comments
      that instruct Emacs to process them as if they were Python files.
      
      This commit adds the equivalent special comments for vim.
      
      Signed-off-by: default avatarAndrea Bolognani <abologna@redhat.com>
      Message-Id: <20200729185024.121766-1-abologna@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Reviewed-by: default avatarJohn Snow <jsnow@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      f7160f32
  27. May 07, 2020
Loading