On 2022-06-08 03:52, Niklas Cassel wrote:
On Wed, Jun 08, 2022 at 10:13:02AM +0900, Damien Le Moal wrote:
When a write command to a sequential write required or sequential write
preferred zone result in the zone write pointer reaching the end of the
zone, the zone condition must be set to full AND the number of
implicitly or explicitly open zones updated to have a correct accounting
for zone resources. However, the function zbc_inc_wp() only sets the
zone condition to full without updating the open zone counters,
resulting in a zone state machine breakage.
Introduce the helper function zbc_set_zone_full() and use it in
zbc_inc_wp() to correctly transition zones to the full condition.
Fixes: 0d1cf9378bd4 ("scsi: scsi_debug: Add ZBC zone commands")
Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>
---
Changes from v1:
* Simplify the patch to not modify the zbc_finish_zone() function and
not use the CLOSED zone condition as an intermediate state in
zbc_set_zone_full(). Cleanups to remove the use of the closed
condition as an intermediate state will be sent later.
drivers/scsi/scsi_debug.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
Reviewed-by: Niklas Cassel <niklas.cassel@xxxxxxx>
Acked-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx>