[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/2] hw/block/nvme: add 'nvme_ana_inject_state' HMP command
From: |
Minwoo Im |
Subject: |
Re: [PATCH 2/2] hw/block/nvme: add 'nvme_ana_inject_state' HMP command |
Date: |
Fri, 26 Feb 2021 22:16:51 +0900 |
User-agent: |
Mutt/1.11.4 (2019-03-13) |
On 21-02-14 20:24:00, Minwoo Im wrote:
> Human Monitor Interface(HMP) is there for easy human debugging. This
> patch added a HMP command 'nvme_ana_inject_state'. This can be executed
> from the QEMU monitor. This command will have the following syntax:
>
> # nvme_ana_inject_state <nvme-id> <anagrpid> <state>
> (qemu) nvme_ana_inject_state nvme0 1 inaccessible
>
> The example above will make ANA group #1 transitioned to
> ANA_INACCESSIBLE state for `nvme0` controller device. Additionally,
> device will notify to the host that ANA has been changed via
> Asynchronous Event Notifier(AEN). Then the host will figure out another
> path to I/O for the namespace by reading the log page for ANA
> information again, and this is what we call the multipath I/O.
>
> This feature is good to debug the host multipath I/O by controlling the
> device ANA group state transition. The path-related errors can be
> tested and debugged by this feature. Also, the HMP command interafce
> will make us not to build QEMU itself again to control things in device.
>
> This interface supports Persistent Loss state transition, but it's not
> going to be persistent: volatile of qemu perspective.
>
> Cc: Dr . David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Minwoo Im <minwoo.im.dev@gmail.com>
Hello Keith,
Do you have any comments about this injection method? As discussed
ealier, I've tried to introduce a natural way to control some of device
status like ANA state which device can behave properly.
It would be great if I can have your feedback on this :)
Thanks!