Lines Matching refs:raid_bdev
43 struct raid_bdev *raid_test_create_raid_bdev(struct raid_params *params,
45 void raid_test_delete_raid_bdev(struct raid_bdev *raid_bdev);
46 struct raid_bdev_io_channel *raid_test_create_io_channel(struct raid_bdev *raid_bdev);
48 void raid_test_bdev_io_init(struct raid_bdev_io *raid_io, struct raid_bdev *raid_bdev,
101 struct raid_bdev *
104 struct raid_bdev *raid_bdev; in raid_test_create_raid_bdev() local
109 raid_bdev = calloc(1, sizeof(*raid_bdev)); in raid_test_create_raid_bdev()
110 SPDK_CU_ASSERT_FATAL(raid_bdev != NULL); in raid_test_create_raid_bdev()
112 raid_bdev->module = module; in raid_test_create_raid_bdev()
113 raid_bdev->level = module->level; in raid_test_create_raid_bdev()
114 raid_bdev->num_base_bdevs = params->num_base_bdevs; in raid_test_create_raid_bdev()
116 switch (raid_bdev->module->base_bdevs_constraint.type) { in raid_test_create_raid_bdev()
118 raid_bdev->min_base_bdevs_operational = raid_bdev->num_base_bdevs - in raid_test_create_raid_bdev()
119 raid_bdev->module->base_bdevs_constraint.value; in raid_test_create_raid_bdev()
122 raid_bdev->min_base_bdevs_operational = raid_bdev->module->base_bdevs_constraint.value; in raid_test_create_raid_bdev()
125 raid_bdev->min_base_bdevs_operational = raid_bdev->num_base_bdevs; in raid_test_create_raid_bdev()
131 raid_bdev->bdev.blocklen = params->base_bdev_blocklen; in raid_test_create_raid_bdev()
132 raid_bdev->bdev.md_len = (params->md_type == RAID_PARAMS_MD_NONE ? 0 : 16); in raid_test_create_raid_bdev()
133 raid_bdev->bdev.md_interleave = (params->md_type == RAID_PARAMS_MD_INTERLEAVED); in raid_test_create_raid_bdev()
134 if (raid_bdev->bdev.md_interleave) { in raid_test_create_raid_bdev()
135 raid_bdev->bdev.blocklen += raid_bdev->bdev.md_len; in raid_test_create_raid_bdev()
138 raid_bdev->strip_size = params->strip_size; in raid_test_create_raid_bdev()
139 raid_bdev->strip_size_kb = params->strip_size * params->base_bdev_blocklen / 1024; in raid_test_create_raid_bdev()
140 raid_bdev->strip_size_shift = spdk_u32log2(raid_bdev->strip_size); in raid_test_create_raid_bdev()
142 raid_bdev->base_bdev_info = calloc(raid_bdev->num_base_bdevs, in raid_test_create_raid_bdev()
144 SPDK_CU_ASSERT_FATAL(raid_bdev->base_bdev_info != NULL); in raid_test_create_raid_bdev()
146 RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) { in raid_test_create_raid_bdev()
154 bdev->blocklen = raid_bdev->bdev.blocklen; in raid_test_create_raid_bdev()
155 bdev->md_len = raid_bdev->bdev.md_len; in raid_test_create_raid_bdev()
156 bdev->md_interleave = raid_bdev->bdev.md_interleave; in raid_test_create_raid_bdev()
162 base_info->raid_bdev = raid_bdev; in raid_test_create_raid_bdev()
168 return raid_bdev; in raid_test_create_raid_bdev()
172 raid_test_delete_raid_bdev(struct raid_bdev *raid_bdev) in raid_test_delete_raid_bdev() argument
176 RAID_FOR_EACH_BASE_BDEV(raid_bdev, base_info) { in raid_test_delete_raid_bdev()
180 free(raid_bdev->base_bdev_info); in raid_test_delete_raid_bdev()
181 free(raid_bdev); in raid_test_delete_raid_bdev()
202 raid_test_create_io_channel(struct raid_bdev *raid_bdev) in raid_test_create_io_channel() argument
210 raid_ch->_base_channels = calloc(raid_bdev->num_base_bdevs, sizeof(struct spdk_io_channel *)); in raid_test_create_io_channel()
213 for (i = 0; i < raid_bdev->num_base_bdevs; i++) { in raid_test_create_io_channel()
217 if (raid_bdev->module->get_io_channel) { in raid_test_create_io_channel()
218 raid_ch->_module_channel = raid_bdev->module->get_io_channel(raid_bdev); in raid_test_create_io_channel()
239 raid_test_bdev_io_init(struct raid_bdev_io *raid_io, struct raid_bdev *raid_bdev, in raid_test_bdev_io_init() argument
246 raid_io->raid_bdev = raid_bdev; in raid_test_bdev_io_init()