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>