Lines Matching refs:dev
21 struct ftl_band *test_init_ftl_band(struct spdk_ftl_dev *dev, size_t id, size_t zone_size);
22 void test_free_ftl_dev(struct spdk_ftl_dev *dev);
29 (struct spdk_ftl_dev *dev, struct spdk_bdev *bdev), NULL);
65 struct spdk_ftl_dev *dev;
67 dev = calloc(1, sizeof(*dev));
68 SPDK_CU_ASSERT_FATAL(dev != NULL);
70 dev->xfer_size = geo->write_unit_size;
71 dev->core_thread = spdk_thread_create("unit_test_thread", NULL);
72 spdk_set_thread(dev->core_thread);
73 dev->ioch = calloc(1, SPDK_IO_CHANNEL_STRUCT_SIZE
75 dev->num_bands = geo->blockcnt / (geo->zone_size * geo->optimal_open_zones);
76 dev->bands = calloc(dev->num_bands, sizeof(*dev->bands));
77 SPDK_CU_ASSERT_FATAL(dev->bands != NULL);
79 dev->layout.base.total_blocks = UINT64_MAX;
81 for (size_t i = 0; i < dev->num_bands; i++) {
88 dev->bands[i].md = md;
92 dev->layout.region[i].type = i;
95 dev->p2l_pool = (struct ftl_mempool *)spdk_mempool_create("ftl_ut", 2, 0x210200,
98 SPDK_CU_ASSERT_FATAL(dev->p2l_pool != NULL);
100 TAILQ_INIT(&dev->free_bands);
101 TAILQ_INIT(&dev->shut_bands);
104 dev->num_blocks_in_band = ftl_calculate_num_blocks_in_band(dev->base_bdev_desc);
105 dev->is_zoned = spdk_bdev_is_zoned(spdk_bdev_desc_get_bdev(dev->base_bdev_desc));
107 return dev;
111 test_init_ftl_band(struct spdk_ftl_dev *dev, size_t id, size_t zone_size)
115 SPDK_CU_ASSERT_FATAL(dev != NULL);
116 SPDK_CU_ASSERT_FATAL(id < dev->num_bands);
118 band = &dev->bands[id];
119 band->dev = dev;
124 TAILQ_INSERT_HEAD(&dev->shut_bands, band, queue_entry);
126 band->p2l_map.valid = (struct ftl_bitmap *)spdk_bit_array_create(ftl_get_num_blocks_in_band(dev));
135 test_free_ftl_dev(struct spdk_ftl_dev *dev)
139 SPDK_CU_ASSERT_FATAL(dev != NULL);
140 free(dev->ioch);
142 thread = dev->core_thread;
150 spdk_mempool_free((struct spdk_mempool *)dev->p2l_pool);
151 for (size_t i = 0; i < dev->num_bands; i++) {
152 free(dev->bands[i].md);
154 free(dev->bands);
155 free(dev);
171 struct spdk_ftl_dev *dev = band->dev;
173 CU_ASSERT_EQUAL(ftl_addr_get_band(dev, addr), band->id);
175 return addr - band->id * ftl_get_num_blocks_in_band(dev);