diff --git a/include/spdk/ftl.h b/include/spdk/ftl.h index 50f2bbe65..9e323ab05 100644 --- a/include/spdk/ftl.h +++ b/include/spdk/ftl.h @@ -54,10 +54,6 @@ struct spdk_ftl_attrs { uint64_t num_blocks; /* Logical block size */ uint64_t block_size; - /* Number of zones in the underlying device (including any offline ones) */ - uint64_t num_zones; - /* Number of logical blocks per zone */ - uint64_t zone_size; /* Optimal IO size - bdev layer will split requests over this size */ uint64_t optimum_io_size; }; diff --git a/lib/ftl/ftl_core.c b/lib/ftl/ftl_core.c index eb683e752..f1df1eff0 100644 --- a/lib/ftl/ftl_core.c +++ b/lib/ftl/ftl_core.c @@ -62,8 +62,6 @@ spdk_ftl_dev_get_attrs(const struct spdk_ftl_dev *dev, struct spdk_ftl_attrs *at { attrs->num_blocks = dev->num_lbas; attrs->block_size = FTL_BLOCK_SIZE; - attrs->num_zones = ftl_get_num_zones(dev); - attrs->zone_size = ftl_get_num_blocks_in_zone(dev); attrs->optimum_io_size = dev->xfer_size; } diff --git a/lib/ftl/ftl_core.h b/lib/ftl/ftl_core.h index df576555c..05a012e07 100644 --- a/lib/ftl/ftl_core.h +++ b/lib/ftl/ftl_core.h @@ -14,7 +14,6 @@ #include "spdk/queue.h" #include "spdk/ftl.h" #include "spdk/bdev.h" -#include "spdk/bdev_zone.h" #include "ftl_internal.h" #include "ftl_io.h" @@ -49,8 +48,6 @@ struct spdk_ftl_dev { /* Cached properties of the underlying device */ uint64_t num_blocks_in_band; - uint64_t num_zones_in_band; - uint64_t num_blocks_in_zone; bool is_zoned; /* Indicates the device is fully initialized */ @@ -130,18 +127,6 @@ ftl_get_num_blocks_in_band(const struct spdk_ftl_dev *dev) return dev->num_blocks_in_band; } -static inline size_t -ftl_get_num_zones_in_band(const struct spdk_ftl_dev *dev) -{ - return dev->num_zones_in_band; -} - -static inline size_t -ftl_get_num_blocks_in_zone(const struct spdk_ftl_dev *dev) -{ - return dev->num_blocks_in_zone; -} - static inline uint32_t ftl_get_write_unit_size(struct spdk_bdev *bdev) { @@ -165,12 +150,6 @@ ftl_get_num_bands(const struct spdk_ftl_dev *dev) return dev->num_bands; } -static inline size_t -ftl_get_num_zones(const struct spdk_ftl_dev *dev) -{ - return ftl_get_num_bands(dev) * ftl_get_num_zones_in_band(dev); -} - static inline bool ftl_check_core_thread(const struct spdk_ftl_dev *dev) { diff --git a/lib/ftl/ftl_init.c b/lib/ftl/ftl_init.c index d6a0aa408..85e5fcef6 100644 --- a/lib/ftl/ftl_init.c +++ b/lib/ftl/ftl_init.c @@ -11,7 +11,6 @@ #include "spdk/ftl.h" #include "spdk/likely.h" #include "spdk/string.h" -#include "spdk/bdev_zone.h" #include "spdk/bdev_module.h" #include "spdk/config.h" diff --git a/lib/ftl/ftl_io.h b/lib/ftl/ftl_io.h index 39551fb09..81d260c5f 100644 --- a/lib/ftl/ftl_io.h +++ b/lib/ftl/ftl_io.h @@ -219,9 +219,6 @@ struct ftl_rq { /* Request physical address, on IO completion set for append device */ ftl_addr addr; - /* Zone to which IO is issued */ - struct ftl_zone *zone; - struct spdk_bdev_io_wait_entry bdev_io_wait; } io; @@ -261,9 +258,6 @@ struct ftl_basic_rq { /* Request physical address, on IO completion set for append device */ ftl_addr addr; - /* Zone to which IO is issued */ - struct ftl_zone *zone; - /* Chunk to which IO is issued */ struct ftl_nv_cache_chunk *chunk; diff --git a/lib/ftl/ftl_layout.c b/lib/ftl/ftl_layout.c index 0faea992e..662932949 100644 --- a/lib/ftl/ftl_layout.c +++ b/lib/ftl/ftl_layout.c @@ -171,10 +171,10 @@ setup_layout_nvc(struct spdk_ftl_dev *dev) left = layout->nvc.total_blocks - offset; layout->nvc.chunk_data_blocks = - FTL_NV_CACHE_CHUNK_DATA_SIZE(ftl_get_num_blocks_in_zone(dev)) / FTL_BLOCK_SIZE; + FTL_NV_CACHE_CHUNK_DATA_SIZE(ftl_get_num_blocks_in_band(dev)) / FTL_BLOCK_SIZE; layout->nvc.chunk_meta_size = FTL_NV_CACHE_CHUNK_MD_SIZE; layout->nvc.chunk_count = (left * FTL_BLOCK_SIZE) / - FTL_NV_CACHE_CHUNK_SIZE(ftl_get_num_blocks_in_zone(dev)); + FTL_NV_CACHE_CHUNK_SIZE(ftl_get_num_blocks_in_band(dev)); layout->nvc.chunk_tail_md_num_blocks = ftl_nv_cache_chunk_tail_md_num_blocks(&dev->nv_cache); if (0 == layout->nvc.chunk_count) { diff --git a/lib/ftl/mngt/ftl_mngt_bdev.c b/lib/ftl/mngt/ftl_mngt_bdev.c index 82da9184d..2ac269c92 100644 --- a/lib/ftl/mngt/ftl_mngt_bdev.c +++ b/lib/ftl/mngt/ftl_mngt_bdev.c @@ -21,23 +21,9 @@ static struct spdk_bdev_module g_ftl_bdev_module = { .name = "ftl_lib", }; -static inline size_t -ftl_calculate_num_zones_in_band(struct spdk_bdev_desc *desc) +static inline uint64_t +ftl_calculate_num_blocks_in_band(struct spdk_bdev_desc *desc) { - if (spdk_bdev_is_zoned(spdk_bdev_desc_get_bdev(desc))) { - return spdk_bdev_get_optimal_open_zones(spdk_bdev_desc_get_bdev(desc)); - } - - return 1; -} - -static inline size_t -ftl_calculate_num_blocks_in_zone(struct spdk_bdev_desc *desc) -{ - if (spdk_bdev_is_zoned(spdk_bdev_desc_get_bdev(desc))) { - return spdk_bdev_get_zone_size(spdk_bdev_desc_get_bdev(desc)); - } - /* TODO: this should be passed via input parameter */ #ifdef SPDK_FTL_ZONE_EMU_BLOCKS return SPDK_FTL_ZONE_EMU_BLOCKS; @@ -46,12 +32,6 @@ ftl_calculate_num_blocks_in_zone(struct spdk_bdev_desc *desc) #endif } -static inline uint64_t -ftl_calculate_num_blocks_in_band(struct spdk_bdev_desc *desc) -{ - return ftl_calculate_num_zones_in_band(desc) * ftl_calculate_num_blocks_in_zone(desc); -} - static void base_bdev_event_cb(enum spdk_bdev_event_type type, struct spdk_bdev *bdev, void *event_ctx) { @@ -115,8 +95,6 @@ ftl_mngt_open_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) /* Cache frequently used values */ dev->num_blocks_in_band = ftl_calculate_num_blocks_in_band(dev->base_bdev_desc); - dev->num_zones_in_band = ftl_calculate_num_zones_in_band(dev->base_bdev_desc); - dev->num_blocks_in_zone = ftl_calculate_num_blocks_in_zone(dev->base_bdev_desc); dev->is_zoned = spdk_bdev_is_zoned(spdk_bdev_desc_get_bdev(dev->base_bdev_desc)); if (dev->is_zoned) { diff --git a/module/bdev/ftl/bdev_ftl.c b/module/bdev/ftl/bdev_ftl.c index 0dc5e2c23..7bc537bb4 100644 --- a/module/bdev/ftl/bdev_ftl.c +++ b/module/bdev/ftl/bdev_ftl.c @@ -214,8 +214,6 @@ bdev_ftl_dump_info_json(void *ctx, struct spdk_json_write_ctx *w) if (conf.cache_bdev) { spdk_json_write_named_string(w, "cache", conf.cache_bdev); } - spdk_json_write_named_string_fmt(w, "num_zones", "%zu", attrs.num_zones); - spdk_json_write_named_string_fmt(w, "zone_size", "%zu", attrs.zone_size); /* ftl */ spdk_json_write_object_end(w); diff --git a/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c b/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c index e46b2d881..d836d152e 100644 --- a/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c +++ b/test/unit/lib/ftl/ftl_io.c/ftl_io_ut.c @@ -22,9 +22,6 @@ DEFINE_STUB(spdk_bdev_zone_appendv, int, (struct spdk_bdev_desc *desc, struct sp struct iovec *iov, int iovcnt, uint64_t zone_id, uint64_t num_blocks, spdk_bdev_io_completion_cb cb, void *cb_arg), 0); DEFINE_STUB(spdk_bdev_get_zone_size, uint64_t, (const struct spdk_bdev *b), 1024); -DEFINE_STUB(spdk_bdev_zone_management, int, (struct spdk_bdev_desc *desc, - struct spdk_io_channel *ch, uint64_t zone_id, enum spdk_bdev_zone_action action, - spdk_bdev_io_completion_cb cb, void *cb_arg), 0); DEFINE_STUB_V(spdk_bdev_free_io, (struct spdk_bdev_io *bdev_io)); DEFINE_STUB(spdk_bdev_get_buf_align, size_t, (const struct spdk_bdev *bdev), 64); DEFINE_STUB(spdk_bdev_get_dif_type, enum spdk_dif_type, @@ -57,10 +54,6 @@ DEFINE_STUB(spdk_bdev_write_zeroes_blocks, int, (struct spdk_bdev_desc *desc, struct spdk_io_channel *ch, uint64_t offset_blocks, uint64_t num_blocks, spdk_bdev_io_completion_cb cb, void *cb_arg), 0); -DEFINE_STUB(spdk_bdev_get_zone_info, int, - (struct spdk_bdev_desc *desc, struct spdk_io_channel *ch, - uint64_t zone_id, size_t num_zones, struct spdk_bdev_zone_info *info, - spdk_bdev_io_completion_cb cb, void *cb_arg), 0); DEFINE_STUB(spdk_mempool_create_ctor, struct spdk_mempool *, (const char *name, size_t count, size_t ele_size, size_t cache_size, int socket_id, spdk_mempool_obj_cb_t *obj_init, void *obj_init_arg), NULL);