qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] hw/block/nvme: fix Close Zone


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/block/nvme: fix Close Zone
Date: Mon, 8 Feb 2021 10:03:15 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0

Hi Dmitry, Klaus.

On 2/8/21 1:32 AM, Dmitry Fomichev wrote:
> Implicitly and Explicitly Open zones can be closed by Close Zone
> management function. This got broken by a recent commit and now such
> commands fail with Invalid Zone State Transition status.
> 
> Modify nvm_zrm_close() function to make Close Zone work correctly.
> 
> Signed-off-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
> Fixes: 053b5a302c3("hw/block/nvme: refactor zone resource management")

'053b5a302c3': unknown revision or path not in the working tree.

If you point at an unmerged commit, why not fix it directly
before merging?

> ---
>  hw/block/nvme.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> index 6b84e34843..c2f0c88fbf 100644
> --- a/hw/block/nvme.c
> +++ b/hw/block/nvme.c
> @@ -1308,14 +1308,13 @@ static uint16_t nvme_zrm_finish(NvmeNamespace *ns, 
> NvmeZone *zone)
>  static uint16_t nvme_zrm_close(NvmeNamespace *ns, NvmeZone *zone)
>  {
>      switch (nvme_get_zone_state(zone)) {
> -    case NVME_ZONE_STATE_CLOSED:
> -        return NVME_SUCCESS;
> -
>      case NVME_ZONE_STATE_EXPLICITLY_OPEN:
>      case NVME_ZONE_STATE_IMPLICITLY_OPEN:
>          nvme_aor_dec_open(ns);
>          nvme_assign_zone_state(ns, zone, NVME_ZONE_STATE_CLOSED);
>          /* fall through */
> +    case NVME_ZONE_STATE_CLOSED:
> +        return NVME_SUCCESS;
>  
>      default:
>          return NVME_ZONE_INVAL_TRANSITION;
> 




reply via email to

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