qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 7/7] qmp-event: add event notification for me


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH v5 7/7] qmp-event: add event notification for memory hot unplug error
Date: Fri, 27 Mar 2015 08:53:55 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0

On 03/27/2015 03:20 AM, Zhu Guihua wrote:
> When memory hot unplug fails, this patch adds support to send
> QMP event to notify mgmt about this failure.
> 
> Signed-off-by: Zhu Guihua <address@hidden>
> ---
>  docs/qmp/qmp-events.txt  | 17 +++++++++++++++++
>  hw/acpi/memory_hotplug.c |  8 +++++++-
>  monitor.c                |  1 +
>  qapi/event.json          | 14 ++++++++++++++
>  4 files changed, 39 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/qmp/qmp-events.txt b/docs/qmp/qmp-events.txt
> index d759d19..7a05705 100644
> --- a/docs/qmp/qmp-events.txt
> +++ b/docs/qmp/qmp-events.txt
> @@ -226,6 +226,23 @@ Example:
>  { "event": "GUEST_PANICKED",
>       "data": { "action": "pause" } }
>  
> +MEM_HOT_UNPLUG_ERROR
> +--------------------
> +Emitted when memory hot unplug occurs error.

s/occurs error/error occurs/

> +
> +Data:
> +
> +- "device": device name (json-string)
> +- "msg": Informative message (e.g., reason for the error) (json-string)
> +
> +Example:
> +
> +{ "event": "MEM_HOT_UNPLUG_ERROR"
> +  "data": { "device": "dimm1",
> +            "msg": "acpi: device unplug for not supported device"

s/not supported/unsupported/

> +  },
> +  "timestamp": { "seconds": 1265044230, "microseconds": 450486 } }
> +
>  NIC_RX_FILTER_CHANGED
>  ---------------------
>  
> diff --git a/hw/acpi/memory_hotplug.c b/hw/acpi/memory_hotplug.c
> index 2a1b866..f1cef71 100644
> --- a/hw/acpi/memory_hotplug.c
> +++ b/hw/acpi/memory_hotplug.c
> @@ -94,6 +94,7 @@ static void acpi_memory_hotplug_write(void *opaque, hwaddr 
> addr, uint64_t data,
>      ACPIOSTInfo *info;
>      DeviceState *dev = NULL;
>      HotplugHandler *hotplug_ctrl = NULL;
> +    Error *local_err = NULL;
>  
>      if (!mem_st->dev_count) {
>          return;
> @@ -148,7 +149,12 @@ static void acpi_memory_hotplug_write(void *opaque, 
> hwaddr addr, uint64_t data,
>              dev = DEVICE(mdev->dimm);
>              hotplug_ctrl = qdev_get_hotplug_handler(dev);
>              /* call pc-dimm unplug cb */
> -            hotplug_handler_unplug(hotplug_ctrl, dev, NULL);
> +            hotplug_handler_unplug(hotplug_ctrl, dev, &local_err);
> +            if (local_err) {
> +                qapi_event_send_mem_unplug_error(dev->id,
> +                                                 error_get_pretty(local_err),
> +                                                 &error_abort);
> +            }
>          }

Does this leak local_err?

> +++ b/qapi/event.json
> @@ -330,3 +330,17 @@
>  ##
>  { 'event': 'VSERPORT_CHANGE',
>    'data': { 'id': 'str', 'open': 'bool' } }
> +
> +##
> +# @MEM_UNPLUG_ERROR
> +#
> +# Emitted when memory hot unplug occurs error.

s/occurs error/error occurs/

> +#
> +# @device: device name
> +#
> +# @msg: Informative message
> +#
> +# Since: 2.3

You're awfully late for 2.3; this may need to be 2.4.

> +##
> +{ 'event': 'MEM_UNPLUG_ERROR',
> +  'data': { 'device': 'str', 'msg': 'str' } }
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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