Lines Matching defs:md

62 	struct ftl_md *md, *md_mirror;
72 if (layout->md[i]) {
83 layout->md[i] = ftl_md_create(dev, region->current.blocks, region->vss_blksz, region->name,
85 if (NULL == layout->md[i]) {
100 md = layout->md[i];
101 md_mirror = layout->md[region->mirror_type];
103 md_mirror->dev = md->dev;
104 md_mirror->data_blocks = md->data_blocks;
105 md_mirror->data = md->data;
106 if (md_mirror->region->vss_blksz == md->region->vss_blksz) {
107 md_mirror->vss_data = md->vss_data;
130 if (layout->md[i]) {
131 ftl_md_destroy(layout->md[i], ftl_md_destroy_region_flags(dev, region->type));
132 layout->md[i] = NULL;
140 persist_cb(struct spdk_ftl_dev *dev, struct ftl_md *md, int status)
142 struct ftl_mngt_process *mngt = md->owner.cb_ctx;
156 struct ftl_md *md;
160 md = layout->md[type];
161 if (!md) {
166 md->owner.cb_ctx = mngt;
167 md->cb = persist_cb;
168 ftl_md_persist(md);
192 restore_cb(struct spdk_ftl_dev *dev, struct ftl_md *md, int status)
194 struct ftl_mngt_process *mngt = md->owner.cb_ctx;
195 const struct ftl_layout_region *region = ftl_md_get_region(md);
218 struct ftl_md *md = layout->md[type];
220 if (!md) {
225 md->owner.cb_ctx = mngt;
226 md->cb = restore_cb;
227 ftl_md_restore(md);
400 /* md layout isn't initialized yet.
559 struct ftl_md *md;
574 /* Allocate md buf */
599 /* Allocate md buf */
600 layout->md[FTL_LAYOUT_REGION_TYPE_SB] = ftl_md_create(dev, region->current.blocks,
603 if (NULL == layout->md[FTL_LAYOUT_REGION_TYPE_SB]) {
619 /* Link the md buf to the device */
620 dev->sb = ftl_md_get_buffer(layout->md[FTL_LAYOUT_REGION_TYPE_SB]);
624 layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE] = ftl_md_create(dev, region->current.blocks,
626 if (NULL == layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE]) {
632 md = layout->md[FTL_LAYOUT_REGION_TYPE_SB];
633 md_mirror = layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE];
635 md_mirror->dev = md->dev;
636 md_mirror->data_blocks = md->data_blocks;
637 md_mirror->data = md->data;
653 if (layout->md[FTL_LAYOUT_REGION_TYPE_SB]) {
654 ftl_md_destroy(layout->md[FTL_LAYOUT_REGION_TYPE_SB],
656 layout->md[FTL_LAYOUT_REGION_TYPE_SB] = NULL;
659 if (layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE]) {
660 ftl_md_destroy(layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE], 0);
661 layout->md[FTL_LAYOUT_REGION_TYPE_SB_BASE] = NULL;
675 FTL_DEBUGLOG(dev, "SHM: found nv cache md\n");
705 FTL_DEBUGLOG(dev, "SHM: found band md\n");
720 FTL_DEBUGLOG(dev, "SHM: found trim md\n");