Lines Matching refs:dev
33 static void ftl_band_validate_md_l2p_pin_cb(struct spdk_ftl_dev *dev, int status,
42 struct spdk_ftl_dev *dev = band->dev; in ftl_band_validate_md_pin() local
54 ftl_get_num_blocks_in_band(dev) - ctx->current_offset); in ftl_band_validate_md_pin()
65 ftl_l2p_pin(dev, p2l_map->band_map[i].lba, 1, ftl_band_validate_md_l2p_pin_cb, ctx, in ftl_band_validate_md_pin()
69 ftl_band_validate_md_l2p_pin_cb(dev, 0, &tmp_pin_ctx); in ftl_band_validate_md_pin()
77 struct spdk_ftl_dev *dev = band->dev; in _ftl_band_validate_md() local
84 ftl_get_num_blocks_in_band(dev) - ctx->current_offset); in _ftl_band_validate_md()
93 addr_l2p = ftl_l2p_get(dev, lba); in _ftl_band_validate_md()
95 if (addr_l2p != FTL_ADDR_INVALID && !ftl_addr_in_nvc(dev, addr_l2p) && in _ftl_band_validate_md()
102 ftl_l2p_unpin(dev, lba, 1); in _ftl_band_validate_md()
108 if (ctx->current_offset == ftl_get_num_blocks_in_band(dev)) { in _ftl_band_validate_md()
118 ftl_band_validate_md_l2p_pin_cb(struct spdk_ftl_dev *dev, int status, in ftl_band_validate_md_l2p_pin_cb() argument
126 spdk_thread_send_msg(dev->core_thread, _ftl_band_validate_md, ctx); in ftl_band_validate_md_l2p_pin_cb()
138 size = ftl_get_num_blocks_in_band(band->dev); in ftl_band_validate_md()
143 FTL_ERRLOG(band->dev, "Failed to allocate memory for band validate context"); in ftl_band_validate_md()
157 ftl_dev_dump_bands(struct spdk_ftl_dev *dev) in ftl_dev_dump_bands() argument
161 if (!dev->bands) { in ftl_dev_dump_bands()
165 FTL_NOTICELOG(dev, "Bands validity:\n"); in ftl_dev_dump_bands()
166 for (i = 0; i < ftl_get_num_bands(dev); ++i) { in ftl_dev_dump_bands()
167 FTL_NOTICELOG(dev, " Band %3zu: %8zu / %zu \twr_cnt: %"PRIu64 in ftl_dev_dump_bands()
169 i + 1, dev->bands[i].p2l_map.num_valid, in ftl_dev_dump_bands()
170 ftl_band_user_blocks(&dev->bands[i]), in ftl_dev_dump_bands()
171 dev->bands[i].md->wr_cnt, in ftl_dev_dump_bands()
172 ftl_band_state_str[dev->bands[i].md->state]); in ftl_dev_dump_bands()
179 ftl_dev_dump_stats(const struct spdk_ftl_dev *dev) in ftl_dev_dump_stats() argument
194 if (!dev->bands) { in ftl_dev_dump_stats()
199 for (i = 0; i < ftl_get_num_bands(dev); ++i) { in ftl_dev_dump_stats()
200 total += dev->bands[i].p2l_map.num_valid; in ftl_dev_dump_stats()
203 write_user = dev->stats.entries[FTL_STATS_TYPE_CMP].write.blocks; in ftl_dev_dump_stats()
205 dev->stats.entries[FTL_STATS_TYPE_GC].write.blocks + in ftl_dev_dump_stats()
206 dev->stats.entries[FTL_STATS_TYPE_MD_BASE].write.blocks; in ftl_dev_dump_stats()
210 spdk_uuid_fmt_lower(uuid, sizeof(uuid), &dev->conf.uuid); in ftl_dev_dump_stats()
211 FTL_NOTICELOG(dev, "\n"); in ftl_dev_dump_stats()
212 FTL_NOTICELOG(dev, "device UUID: %s\n", uuid); in ftl_dev_dump_stats()
213 FTL_NOTICELOG(dev, "total valid LBAs: %zu\n", total); in ftl_dev_dump_stats()
214 FTL_NOTICELOG(dev, "total writes: %"PRIu64"\n", write_total); in ftl_dev_dump_stats()
215 FTL_NOTICELOG(dev, "user writes: %"PRIu64"\n", write_user); in ftl_dev_dump_stats()
216 FTL_NOTICELOG(dev, "WAF: %.4lf\n", waf); in ftl_dev_dump_stats()
218 FTL_NOTICELOG(dev, "limits:\n"); in ftl_dev_dump_stats()
220 FTL_NOTICELOG(dev, " %5s: %"PRIu64"\n", limits[i], dev->stats.limits[i]); in ftl_dev_dump_stats()