On Feb 8 09:32, 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.fomic...@wdc.com> > Fixes: 053b5a302c3("hw/block/nvme: refactor zone resource management") > --- > 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; > -- > 2.28.0 >
Thanks, applied! The commit ids change when this is merged with master, so I removed the "Fixes" tag and made a reference to the commit title in the commit message instead.