diff --git a/lib/ftl/ftl_band.c b/lib/ftl/ftl_band.c index f8468dc1f..86e15f24b 100644 --- a/lib/ftl/ftl_band.c +++ b/lib/ftl/ftl_band.c @@ -406,7 +406,7 @@ ftl_band_tail_md_addr(struct ftl_band *band) addr.offset = (num_req / band->num_zones) * xfer_size; addr.zone_id = band->id; - addr.pu = zone->punit->start_addr.pu; + addr.pu = zone->start_addr.pu; return addr; } @@ -414,13 +414,13 @@ ftl_band_tail_md_addr(struct ftl_band *band) struct ftl_addr ftl_band_head_md_addr(struct ftl_band *band) { - struct ftl_addr addr; + struct ftl_addr addr = {}; if (spdk_unlikely(!band->num_zones)) { return ftl_to_addr(FTL_ADDR_INVALID); } - addr = CIRCLEQ_FIRST(&band->zones)->punit->start_addr; + addr.pu = CIRCLEQ_FIRST(&band->zones)->start_addr.pu; addr.zone_id = band->id; return addr; diff --git a/lib/ftl/ftl_band.h b/lib/ftl/ftl_band.h index 8edce2dbf..ac09e45ad 100644 --- a/lib/ftl/ftl_band.h +++ b/lib/ftl/ftl_band.h @@ -62,9 +62,6 @@ struct ftl_zone { /* First logical block of a zone */ struct ftl_addr start_addr; - /* Pointer to parallel unit */ - struct ftl_punit *punit; - /* Position in band's zone_buf */ uint32_t pos; diff --git a/lib/ftl/ftl_init.c b/lib/ftl/ftl_init.c index 59f443573..cd9cd6823 100644 --- a/lib/ftl/ftl_init.c +++ b/lib/ftl/ftl_init.c @@ -337,8 +337,7 @@ ftl_dev_init_bands(struct spdk_ftl_dev *dev) zone = &band->zone_buf[i]; zone->pos = i; zone->state = ftl_get_zone_state(&info[j]); - zone->punit = punit; - zone->start_addr = punit->start_addr; + zone->start_addr.pu = i; zone->start_addr.zone_id = band->id; zone->write_offset = ftl_dev_lbks_in_zone(dev); diff --git a/test/unit/lib/ftl/common/utils.c b/test/unit/lib/ftl/common/utils.c index 52f36975b..aa2de32a3 100644 --- a/test/unit/lib/ftl/common/utils.c +++ b/test/unit/lib/ftl/common/utils.c @@ -107,7 +107,6 @@ test_init_ftl_band(struct spdk_ftl_dev *dev, size_t id) zone = &band->zone_buf[i]; zone->pos = i; zone->state = SPDK_BDEV_ZONE_STATE_CLOSED; - zone->punit = &dev->punits[i]; zone->start_addr = dev->punits[i].start_addr; zone->start_addr.zone_id = band->id; CIRCLEQ_INSERT_TAIL(&band->zones, zone, circleq);