lib/ftl: Fix condition for moving zone state to full
This patch fixes condition used to change zone state. Zone write pointer is an offset from disk beginning and was wrongly used as an offset from zone. Change-Id: I6cd42c6db78003812ec6d6bc75550bb7a5b067ca Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/954 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Maciej Szczepaniak <maciej.szczepaniak@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
parent
26328b7b1a
commit
f545e3009f
@ -1562,7 +1562,7 @@ ftl_io_child_write_cb(struct ftl_io *io, void *ctx, int status)
|
|||||||
zone->busy = false;
|
zone->busy = false;
|
||||||
zone->info.write_pointer += io->num_blocks;
|
zone->info.write_pointer += io->num_blocks;
|
||||||
|
|
||||||
if (zone->info.write_pointer == zone->info.capacity) {
|
if (zone->info.write_pointer == zone->info.zone_id + zone->info.capacity) {
|
||||||
zone->info.state = SPDK_BDEV_ZONE_STATE_FULL;
|
zone->info.state = SPDK_BDEV_ZONE_STATE_FULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user