qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 501860: Introduce yank feature


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 501860: Introduce yank feature
Date: Wed, 13 Jan 2021 06:20:08 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 50186051f425da3ace2425371c5271d0b64e7122
      
https://github.com/qemu/qemu/commit/50186051f425da3ace2425371c5271d0b64e7122
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M MAINTAINERS
    A include/qemu/yank.h
    M qapi/meson.build
    M qapi/qapi-schema.json
    A qapi/yank.json
    M util/meson.build
    A util/yank.c

  Log Message:
  -----------
  Introduce yank feature

The yank feature allows to recover from hanging qemu by "yanking"
at various parts. Other qemu systems can register themselves and
multiple yank functions. Then all yank functions for selected
instances can be called by the 'yank' out-of-band qmp command.
Available instances can be queried by a 'query-yank' oob command.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-Id: 
<69934ceacfd33a7dfe53db145ecc630ad39ee47c.1609167865.git.lukasstraub2@web.de>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: fee091cdffe73c6d5094ec67b8245ede58aced5b
      
https://github.com/qemu/qemu/commit/fee091cdffe73c6d5094ec67b8245ede58aced5b
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M block/nbd.c

  Log Message:
  -----------
  block/nbd.c: Add yank feature

Register a yank function which shuts down the socket and sets
s->state = NBD_CLIENT_QUIT. This is the same behaviour as if an
error occured.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: 
<b73eb07db6d1fcd00667beb13ae6117260f002c3.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 8ee4480692fe750f8ee7bcaa432250225da88a85
      
https://github.com/qemu/qemu/commit/8ee4480692fe750f8ee7bcaa432250225da88a85
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M chardev/char-socket.c

  Log Message:
  -----------
  chardev/char-socket.c: Add yank feature

Register a yank function to shutdown the socket on yank.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: 
<1f4eeed1d066c6cbb8d05ffa9585f6e87b34aac6.1609167865.git.lukasstraub2@web.de>
Acked-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: b5eea99ec2f5cf6fa0ac12a757c8873b1d2a73a4
      
https://github.com/qemu/qemu/commit/b5eea99ec2f5cf6fa0ac12a757c8873b1d2a73a4
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M migration/channel.c
    M migration/migration.c
    M migration/multifd.c
    M migration/qemu-file-channel.c
    M migration/savevm.c

  Log Message:
  -----------
  migration: Add yank feature

Register yank functions on sockets to shut them down.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: 
<484c6a14cc2506bebedd5a237259b91363ff8f88.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: e4d2bfb1700db663ddda448368f06570f7f81970
      
https://github.com/qemu/qemu/commit/e4d2bfb1700db663ddda448368f06570f7f81970
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M io/channel-tls.c

  Log Message:
  -----------
  io/channel-tls.c: make qio_channel_tls_shutdown thread-safe

Make qio_channel_tls_shutdown thread-safe by using atomics when
accessing tioc->shutdown.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: 
<5bd8733f583f3558b32250fd0eb576b7aa756485.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 8659f317d3303092d8e534eeefd160aa5ead9aab
      
https://github.com/qemu/qemu/commit/8659f317d3303092d8e534eeefd160aa5ead9aab
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M include/io/channel.h

  Log Message:
  -----------
  io: Document qmp oob suitability of qio_channel_shutdown and io_shutdown

Migration and yank code assume that qio_channel_shutdown is thread
-safe and can be called from qmp oob handler. Document this after
checking the code.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: 
<32b8c27e256da043f0f00db05bd7ab8fbc506070.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 91d48e520a4a4f72e97aeb333029694f5d57cc93
      
https://github.com/qemu/qemu/commit/91d48e520a4a4f72e97aeb333029694f5d57cc93
  Author: Lukas Straub <lukasstraub2@web.de>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M tests/test-char.c

  Log Message:
  -----------
  tests/test-char.c: Wait for the chardev to connect in 
char_socket_client_dupid_test

A connecting chardev object has an additional reference by the connecting
thread, so if the chardev is still connecting by the end of the test,
then the chardev object won't be freed. This in turn means that the yank
instance won't be unregistered and when running the next test-case
yank_register_instance will abort, because the yank instance is
already/still registered.

Signed-off-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: 
<1445e97a5800e3f2ba024ad52b500a0315701632.1609167865.git.lukasstraub2@web.de>
Signed-off-by: Markus Armbruster <armbru@redhat.com>


  Commit: 45240eed4f064576d589ea60ebadf3c11d7ab891
      
https://github.com/qemu/qemu/commit/45240eed4f064576d589ea60ebadf3c11d7ab891
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-01-13 (Wed, 13 Jan 2021)

  Changed paths:
    M MAINTAINERS
    M block/nbd.c
    M chardev/char-socket.c
    M include/io/channel.h
    A include/qemu/yank.h
    M io/channel-tls.c
    M migration/channel.c
    M migration/migration.c
    M migration/multifd.c
    M migration/qemu-file-channel.c
    M migration/savevm.c
    M qapi/meson.build
    M qapi/qapi-schema.json
    A qapi/yank.json
    M tests/test-char.c
    M util/meson.build
    A util/yank.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/armbru/tags/pull-yank-2021-01-13' into 
staging

Yank patches patches for 2021-01-13

# gpg: Signature made Wed 13 Jan 2021 09:25:46 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-yank-2021-01-13:
  tests/test-char.c: Wait for the chardev to connect in 
char_socket_client_dupid_test
  io: Document qmp oob suitability of qio_channel_shutdown and io_shutdown
  io/channel-tls.c: make qio_channel_tls_shutdown thread-safe
  migration: Add yank feature
  chardev/char-socket.c: Add yank feature
  block/nbd.c: Add yank feature
  Introduce yank feature

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/6b63d126121a...45240eed4f06



reply via email to

[Prev in Thread] Current Thread [Next in Thread]