[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers
From: |
Yuval Shaia |
Subject: |
Re: [Qemu-devel] [PATCH v2 19/22] vl: Introduce shutdown_notifiers |
Date: |
Thu, 8 Nov 2018 22:45:31 +0200 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Thu, Nov 08, 2018 at 05:26:06PM +0100, Cornelia Huck wrote:
> 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.
Agree, make sense.
>
> > +}
> > +
> > 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 {
>
- [Qemu-devel] [PATCH v2 13/22] hw/pvrdma: Make sure PCI function 0 is vmxnet3, (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
- [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