[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers
From: |
Cornelia Huck |
Subject: |
Re: [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers |
Date: |
Thu, 8 Nov 2018 17:26:06 +0100 |
On Thu, 8 Nov 2018 18:08:15 +0200
Yuval Shaia <address@hidden> wrote:
> Notifier will be used for signaling shutdown event to inform system is
> shutdown. This will allow devices and other component to run some
> cleanup code needed before VM is shutdown.
>
> Signed-off-by: Yuval Shaia <address@hidden>
> ---
> include/sysemu/sysemu.h | 1 +
> vl.c | 15 ++++++++++++++-
> 2 files changed, 15 insertions(+), 1 deletion(-)
>
> @@ -1809,6 +1811,12 @@ static void qemu_system_powerdown(void)
> notifier_list_notify(&powerdown_notifiers, NULL);
> }
>
> +static void qemu_system_shutdown(bool by_guest)
I would pass the shutdown reason here directly (instead of only whether
this was triggered by the guest or not)...
> +{
> + qapi_event_send_shutdown(by_guest);
> + notifier_list_notify(&shutdown_notifiers, NULL);
...and also pass it to the notifiers here. If we have the info anyway,
why not simply pass it along.
> +}
> +
> void qemu_system_powerdown_request(void)
> {
> trace_qemu_system_powerdown_request();
> @@ -1821,6 +1829,11 @@ void qemu_register_powerdown_notifier(Notifier
> *notifier)
> notifier_list_add(&powerdown_notifiers, notifier);
> }
>
> +void qemu_register_shutdown_notifier(Notifier *notifier)
> +{
> + notifier_list_add(&shutdown_notifiers, notifier);
> +}
> +
> void qemu_system_debug_request(void)
> {
> debug_requested = 1;
> @@ -1848,7 +1861,7 @@ static bool main_loop_should_exit(void)
> request = qemu_shutdown_requested();
> if (request) {
> qemu_kill_report();
> - qapi_event_send_shutdown(shutdown_caused_by_guest(request));
> + qemu_system_shutdown(shutdown_caused_by_guest(request));
> if (no_shutdown) {
> vm_stop(RUN_STATE_SHUTDOWN);
> } else {
- Re: [Qemu-devel] [PATCH v2 09/22] hw/pvrdma: Set the correct opcode for send completion, (continued)
- [Qemu-devel] [PATCH v2 13/22] hw/pvrdma: Make sure PCI function 0 is vmxnet3, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 20/22] hw/pvrdma: Clean device's resource when system is shutdown, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 14/22] hw/rdma: Initialize node_guid from vmxnet3 mac address, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 18/22] hw/rdma: Remove unneeded code that handles more that one port, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 15/22] hw/pvrdma: Make device state depend on Ethernet function state, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 16/22] hw/pvrdma: Fill all CQE fields, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers, Yuval Shaia, 2018/11/08
- Re: [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers,
Cornelia Huck <=
- [Qemu-devel] [PATCH v2 17/22] hw/pvrdma: Fill error code in command's response, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 12/22] vmxnet3: Move some definitions to header file, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 21/22] rdma: Do not use bitmap_zero_extend to fee bitmap, Yuval Shaia, 2018/11/08
- [Qemu-devel] [PATCH v2 22/22] rdma: Do not call rdma_backend_del_gid on an empty gid, Yuval Shaia, 2018/11/08