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:
Wojciech Malikowski 2020-02-19 07:29:25 -05:00 committed by Tomasz Zawadzki
parent 26328b7b1a
commit f545e3009f

View File

@ -1562,7 +1562,7 @@ ftl_io_child_write_cb(struct ftl_io *io, void *ctx, int status)
zone->busy = false;
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;
}