hw/block/nvme: refactor zone resource management
authorKlaus Jensen <k.jensen@samsung.com>
Tue, 19 Jan 2021 20:01:15 +0000 (21:01 +0100)
committerKlaus Jensen <k.jensen@samsung.com>
Tue, 9 Mar 2021 10:00:57 +0000 (11:00 +0100)
commit975b64665048e8e283a3c9cad9808da0a014e283
treedeaf5376fcadba5e12f83f7cf2039f885894d08c
parenteda688ee2403c1efc48f420590623c885aec3393
hw/block/nvme: refactor zone resource management

Zone transition handling and resource management is open coded (and
semi-duplicated in the case of open, close and finish).

In preparation for Simple Copy command support (which also needs to open
zones for writing), consolidate into a set of 'nvme_zrm' functions and
in the process fix a bug with the controller not closing an open zone to
allow another zone to be explicitly opened.

Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Reviewed-by: Keith Busch <kbusch@kernel.org>
hw/block/nvme.c