Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
base: 9eb400cdd7b0
Choose a base ref
...
head repository: qemu/qemu
compare: a86d7b9ec0ad
Choose a head ref
  • 7 commits
  • 7 files changed
  • 3 contributors

Commits on Jun 1, 2023

  1. runstate: add runstate_get()

    It's necessary to restore the state after failed/cancelled migration in
    further commit.
    
    Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230517123752.21615-2-vsementsov@yandex-team.ru>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Vladimir Sementsov-Ogievskiy authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    242b74e View commit details
    Browse the repository at this point in the history
  2. migration: never fail in global_state_store()

    Actually global_state_store() can never fail. Let's get rid of extra
    error paths.
    
    To make things clear, use new runstate_get() and use same approach for
    global_state_store() and global_state_store_running().
    
    Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230517123752.21615-3-vsementsov@yandex-team.ru>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Vladimir Sementsov-Ogievskiy authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    c33f182 View commit details
    Browse the repository at this point in the history
  3. runstate: drop unused runstate_store()

    The function is unused since previous commit. Drop it.
    
    Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230517123752.21615-4-vsementsov@yandex-team.ru>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Vladimir Sementsov-Ogievskiy authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    e76005a View commit details
    Browse the repository at this point in the history
  4. migration: switch from .vm_was_running to .vm_old_state

    No logic change here, only refactoring. That's a preparation for next
    commit where we finally restore the stopped vm state on migration
    failure or cancellation.
    
    Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230517123752.21615-5-vsementsov@yandex-team.ru>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Vladimir Sementsov-Ogievskiy authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    f458407 View commit details
    Browse the repository at this point in the history
  5. migration: restore vmstate on migration failure

    1. Otherwise failed migration just drops guest-panicked state, which is
       not good for management software.
    
    2. We do keep different paused states like guest-panicked during
       migration with help of global_state state.
    
    3. We do restore running state on source when migration is cancelled or
       failed.
    
    4. "postmigrate" state is documented as "guest is paused following a
       successful 'migrate'", so originally it's only for successful path
       and we never documented current behavior.
    
    Let's restore paused states like guest-panicked in case of cancel or
    fail too. Allow same transitions like for inmigrate state.
    
    This commit changes the behavior that was introduced by commit
    42da555 "migration: set state to post-migrate on failure" and
    provides a bit different fix on related
      https://bugzilla.redhat.com/show_bug.cgi?id=1355683
    
    Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Reviewed-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230517123752.21615-6-vsementsov@yandex-team.ru>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Vladimir Sementsov-Ogievskiy authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    a4c6275 View commit details
    Browse the repository at this point in the history
  6. migration: stop tracking ram writes when cancelling background migration

    Currently, it is only done when the iteration finishes successfully.
    Not cleaning up the userfaultfd write protection can lead to
    symptoms/issues such as the process hanging in memmove or GDB not
    being able to attach.
    
    Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
    Message-Id: <20230526115908.196171-1-f.ebner@proxmox.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    foxmox authored and Juan Quintela committed Jun 1, 2023
    Copy the full SHA
    3a8b81f View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. Merge tag 'migration-20230601-pull-request' of https://gitlab.com/jua…

    …n.quintela/qemu into staging
    
    Migration Pull request (20230601)
    
    Hi
    
    In this series:
    - improve background migration (fiona)
    - improve vmstate failure states (vladimir)
    - dropped all the RDMA cleanups
    
    Please, apply.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmR5LAoACgkQ9IfvGFhy
    # 1yPOuxAA5QzUfswCIWehrkY8FApDjsecPDq5R6hS1p5pDZkHTF5y6j49J93I65o2
    # E4qr4l0+DJvBvnxTW29JQ1i0RPqJHnJBFC9Ib4o0NaA/7iRP1sTwYxIN4wWZz6H/
    # pqG3oQC0WPPqgj9tHSgDW4TNkFjETYaezTN8nddNmyiaO9UxNuR5ZKbeYMroVlfp
    # KbnAYfXV6CyXKUZFT32BYcajYBDZAqBCO6y3gEn77KPlT1/TqnucoYEVuNudq5SE
    # jeCamTzoAQ6SIRFM/eY+aASxdsSryqDS/WLqBFsleXs1kkJ6mkDnNels4HqS+xs9
    # p2Vhv/59ktoC57XsRgTgzEklAaSHunZivcQkc5szyGVE5TZyKtWg8WhA6rvlqbjK
    # lb3kKpvtVi73+pAWU0hhKFdnCrB6ieCHI70CJ5mpiIu3MzLUyrNJOK4FoKNoJDOD
    # Dp45DK+W/EMg51pXyHJZZqHM1p0GGj0fmhv5T05nJ590fIWV4iqDdHFxsMZ9vEPN
    # iEvAB7/pXz+yECznDFrp2e047rshOGaKKNSW3zl3/7D32Ds2FKur76dL4BoymztW
    # HHLxmRWn8HmHMoKYLoawWVmCBsDqy8BFct+rHbA6h/0nSCPYIUCmMrSYVqajUbXD
    # Ulkh4KNQGoBCzp5Toa0dYEXVc891wVOw4k8PTARwf2OYskSkT88=
    # =Km5X
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Thu 01 Jun 2023 04:38:50 PM PDT
    # gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
    # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [unknown]
    # gpg:                 aka "Juan Quintela <quintela@trasno.org>" [unknown]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723
    
    * tag 'migration-20230601-pull-request' of https://gitlab.com/juan.quintela/qemu:
      migration: stop tracking ram writes when cancelling background migration
      migration: restore vmstate on migration failure
      migration: switch from .vm_was_running to .vm_old_state
      runstate: drop unused runstate_store()
      migration: never fail in global_state_store()
      runstate: add runstate_get()
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed Jun 2, 2023
    Copy the full SHA
    a86d7b9 View commit details
    Browse the repository at this point in the history