]> git.baikalelectronics.ru Git - kernel.git/commit
scsi: scsi_debug: Fix zone transition to full condition
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Wed, 8 Jun 2022 01:13:02 +0000 (10:13 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Fri, 10 Jun 2022 16:50:05 +0000 (12:50 -0400)
commite28bcc0b45caf83ca9f009ad1b50c363deae59e3
treedc413a322ec41fb9d8ad5813ecc4103eeb05e296
parent67ddec8d63e958468b428d134dd8e776c5fb88e7
scsi: scsi_debug: Fix zone transition to full condition

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.

Link: https://lore.kernel.org/r/20220608011302.92061-1-damien.lemoal@opensource.wdc.com
Fixes: 6a87ea528821 ("scsi: scsi_debug: Add ZBC zone commands")
Reviewed-by: Niklas Cassel <niklas.cassel@wdc.com>
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_debug.c