/spdk/lib/ftl/mngt/ |
H A D | ftl_mngt_misc.c | 17 ftl_mngt_check_conf(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) in ftl_mngt_check_conf() argument 19 if (ftl_conf_is_valid(&dev->conf)) { in ftl_mngt_check_conf() 27 init_p2l_map_pool(struct spdk_ftl_dev *dev) in init_p2l_map_pool() argument 29 size_t p2l_pool_el_blks = spdk_divide_round_up(ftl_p2l_map_pool_elem_size(dev), FTL_BLOCK_SIZE); in init_p2l_map_pool() 33 dev->p2l_pool_md = ftl_md_create(dev, p2l_pool_buf_blks, 0, "p2l_pool", in init_p2l_map_pool() 34 ftl_md_create_shm_flags(dev), NULL); in init_p2l_map_pool() 35 if (!dev->p2l_pool_md) { in init_p2l_map_pool() 39 p2l_pool_buf = ftl_md_get_buffer(dev->p2l_pool_md); in init_p2l_map_pool() 40 dev in init_p2l_map_pool() 55 init_band_md_pool(struct spdk_ftl_dev * dev) init_band_md_pool() argument 69 ftl_mngt_init_mem_pools(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_mem_pools() argument 85 ftl_mngt_deinit_mem_pools(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_mem_pools() argument 106 ftl_mngt_init_reloc(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_reloc() argument 119 ftl_mngt_deinit_reloc(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_reloc() argument 126 ftl_mngt_init_nv_cache(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_nv_cache() argument 138 ftl_mngt_deinit_nv_cache(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_nv_cache() argument 145 user_clear_cb(struct spdk_ftl_dev * dev,void * cb_ctx,int status) user_clear_cb() argument 158 ftl_mngt_scrub_nv_cache(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_scrub_nv_cache() argument 179 ftl_mngt_finalize_startup(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_finalize_startup() argument 206 ftl_mngt_start_core_poller(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_start_core_poller() argument 219 ftl_mngt_stop_core_poller(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_stop_core_poller() argument 231 ftl_mngt_dump_stats(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_dump_stats() argument 239 ftl_mngt_init_vld_map(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_vld_map() argument 255 ftl_mngt_deinit_vld_map(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_vld_map() argument 265 ftl_mngt_init_trim_map(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_trim_map() argument 295 trim_clear_cb(struct spdk_ftl_dev * dev,struct ftl_md * md,int status) trim_clear_cb() argument 307 ftl_mngt_trim_metadata_clear(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_trim_metadata_clear() argument 317 ftl_mngt_trim_log_clear(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_trim_log_clear() argument 327 ftl_mngt_deinit_trim_map(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_trim_map() argument 339 struct spdk_ftl_dev *dev; global() member 370 spdk_ftl_get_properties(struct spdk_ftl_dev * dev,struct spdk_jsonrpc_request * request,spdk_ftl_fn cb_fn,void * cb_arg) spdk_ftl_get_properties() argument 400 ftl_mngt_set_property_decode(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_property_decode() argument 414 ftl_mngt_set_property(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_property() argument 425 ftl_mngt_set_property_cleanup(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_property_cleanup() argument 457 ftl_mngt_property_caller_cb(struct spdk_ftl_dev * dev,void * ctx,int status) ftl_mngt_property_caller_cb() argument 466 spdk_ftl_set_property(struct spdk_ftl_dev * dev,const char * property,const char * value,size_t value_size,spdk_ftl_fn cb_fn,void * cb_arg) spdk_ftl_set_property() argument [all...] |
H A D | ftl_mngt_bdev.c | 49 ftl_mngt_open_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) in ftl_mngt_open_base_bdev() argument 53 const char *bdev_name = dev->conf.base_bdev; in ftl_mngt_open_base_bdev() 57 dev, &dev->base_bdev_desc)) { in ftl_mngt_open_base_bdev() 58 FTL_ERRLOG(dev, "Unable to open bdev: %s\n", bdev_name); in ftl_mngt_open_base_bdev() 62 bdev = spdk_bdev_desc_get_bdev(dev->base_bdev_desc); in ftl_mngt_open_base_bdev() 64 if (spdk_bdev_module_claim_bdev(bdev, dev->base_bdev_desc, &g_ftl_bdev_module)) { in ftl_mngt_open_base_bdev() 66 spdk_bdev_close(dev->base_bdev_desc); in ftl_mngt_open_base_bdev() 67 dev->base_bdev_desc = NULL; in ftl_mngt_open_base_bdev() 68 FTL_ERRLOG(dev, "Unable to claim bdev %s\n", bdev_name); in ftl_mngt_open_base_bdev() 74 FTL_ERRLOG(dev, "Unsupported block size (%"PRIu32")\n", block_size); in ftl_mngt_open_base_bdev() [all …]
|
H A D | ftl_mngt_steps.h | 12 void ftl_mngt_check_conf(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 14 void ftl_mngt_open_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 16 void ftl_mngt_close_base_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 18 void ftl_mngt_superblock_init(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 20 void ftl_mngt_superblock_deinit(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 22 void ftl_mngt_open_cache_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 24 void ftl_mngt_close_cache_bdev(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 26 void ftl_mngt_register_io_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 28 void ftl_mngt_unregister_io_device(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt); 30 void ftl_mngt_init_mem_pools(struct spdk_ftl_dev *dev, struc [all...] |
H A D | ftl_mngt_md.c | 24 ftl_mngt_init_layout(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) in ftl_mngt_init_layout() argument 26 if (ftl_layout_setup(dev)) { in ftl_mngt_init_layout() 58 ftl_mngt_init_md(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) in ftl_mngt_init_md() 60 struct ftl_layout *layout = &dev->layout; in ftl_mngt_init_md() 67 region = ftl_layout_region_get(dev, i); in ftl_mngt_init_md() 81 md_flags = is_buffer_needed(i) ? ftl_md_create_region_flags(dev, in ftl_mngt_init_md() 83 layout->md[i] = ftl_md_create(dev, region->current.blocks, region->vss_blksz, region->name, in ftl_mngt_init_md() 93 region = ftl_layout_region_get(dev, i); in ftl_mngt_init_md() 103 md_mirror->dev = md->dev; in ftl_mngt_init_md() 56 ftl_mngt_init_md(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_md() argument 117 ftl_mngt_deinit_md(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_md() argument 138 persist_cb(struct spdk_ftl_dev * dev,struct ftl_md * md,int status) persist_cb() argument 150 persist(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt,enum ftl_layout_region_type type) persist() argument 170 ftl_md_restore_region(struct spdk_ftl_dev * dev,int region_type) ftl_md_restore_region() argument 190 restore_cb(struct spdk_ftl_dev * dev,struct ftl_md * md,int status) restore_cb() argument 212 restore(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt,enum ftl_layout_region_type type) restore() argument 229 ftl_mngt_persist_nv_cache_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_nv_cache_metadata() argument 240 ftl_mngt_fast_persist_nv_cache_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_fast_persist_nv_cache_metadata() argument 250 ftl_mngt_persist_vld_map_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_vld_map_metadata() argument 256 ftl_mngt_persist_p2l_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_p2l_metadata() argument 272 ftl_mngt_persist_band_info_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_band_info_metadata() argument 278 ftl_mngt_persist_trim_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_trim_metadata() argument 309 ftl_mngt_persist_super_block(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_super_block() argument 353 ftl_mngt_persist_md(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_md() argument 374 ftl_mngt_fast_persist_md(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_fast_persist_md() argument 380 ftl_mngt_init_default_sb(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_default_sb() argument 414 ftl_mngt_set_dirty(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_dirty() argument 426 ftl_mngt_set_clean(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_clean() argument 440 ftl_mngt_set_shm_clean(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_set_shm_clean() argument 451 ftl_mngt_load_sb(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_load_sb() argument 469 ftl_mngt_validate_sb(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_validate_sb() argument 555 ftl_mngt_superblock_init(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_superblock_init() argument 647 ftl_mngt_superblock_deinit(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_superblock_deinit() argument 670 ftl_mngt_restore_nv_cache_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_restore_nv_cache_metadata() argument 685 ftl_mngt_restore_vld_map_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_restore_vld_map_metadata() argument 700 ftl_mngt_restore_band_info_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_restore_band_info_metadata() argument 715 ftl_mngt_restore_trim_metadata(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_restore_trim_metadata() argument 756 ftl_mngt_restore_md(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_restore_md() argument 762 ftl_mngt_persist_superblock(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_persist_superblock() argument [all...] |
H A D | ftl_mngt_band.c | 14 struct spdk_ftl_dev *dev = band->dev; in ftl_band_init_md() local 16 struct ftl_md *band_info_md = dev->layout.md[FTL_LAYOUT_REGION_TYPE_BAND_MD]; in ftl_band_init_md() 17 struct ftl_md *valid_map_md = dev->layout.md[FTL_LAYOUT_REGION_TYPE_VALID_MAP]; in ftl_band_init_md() 18 uint64_t band_num_blocks = ftl_get_num_blocks_in_band(band->dev); in ftl_band_init_md() 23 FTL_ERRLOG(dev, "The number of blocks in band is not divisible by bitmap word bits\n"); in ftl_band_init_md() 36 if (!ftl_fast_startup(dev)) { in ftl_band_init_md() 44 ftl_dev_init_bands(struct spdk_ftl_dev *dev) in ftl_dev_init_bands() argument 50 blocks = spdk_bdev_get_num_blocks(spdk_bdev_desc_get_bdev(dev->base_bdev_desc)); in ftl_dev_init_bands() 51 dev->num_bands = blocks / ftl_get_num_blocks_in_band(dev); in ftl_dev_init_bands() 54 md_blocks = ftl_layout_base_md_blocks(dev); in ftl_dev_init_bands() [all …]
|
H A D | ftl_mngt_ioch.c | 28 struct spdk_ftl_dev *dev = ioch->dev; in ftl_dev_register_channel() local 31 TAILQ_INSERT_TAIL(&dev->ioch_queue, ioch, entry); in ftl_dev_register_channel() 38 struct spdk_ftl_dev *dev = ioch->dev; in io_channel_unregister() local 40 TAILQ_REMOVE(&dev->ioch_queue, ioch, entry); in io_channel_unregister() 51 struct spdk_ftl_dev *dev = io_device; in io_channel_create_cb() local 57 FTL_NOTICELOG(dev, "FTL IO channel created on %s\n", in io_channel_create_cb() 65 FTL_ERRLOG(dev, "Failed to allocate IO channel\n"); in io_channel_create_cb() 71 FTL_ERRLOG(dev, "Faile in io_channel_create_cb() 134 struct spdk_ftl_dev *dev = ioch->dev; io_channel_destroy_cb() local 145 ftl_mngt_register_io_device(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_register_io_device() argument 160 struct spdk_ftl_dev *dev = io_device; unregister_cb() local 170 ftl_mngt_unregister_io_device(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_unregister_io_device() argument 181 ftl_mngt_init_io_channel(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_init_io_channel() argument 194 ftl_mngt_deinit_io_channel(struct spdk_ftl_dev * dev,struct ftl_mngt_process * mngt) ftl_mngt_deinit_io_channel() argument [all...] |
H A D | ftl_mngt_recovery.c | 45 recovery_iter_done(struct spdk_ftl_dev *dev, struct ftl_mngt_recovery_ctx *ctx) in recovery_iter_done() argument 51 recovery_iter_advance(struct spdk_ftl_dev *dev, struct ftl_mngt_recovery_ctx *ctx) in recovery_iter_advance() argument 57 region = ftl_layout_region_get(dev, FTL_LAYOUT_REGION_TYPE_L2P); in recovery_iter_advance() 66 ctx->iter.lba_first = first_block * (FTL_BLOCK_SIZE / dev->layout.l2p.addr_size); in recovery_iter_advance() 69 ctx->iter.lba_last = last_blocks * (FTL_BLOCK_SIZE / dev->layout.l2p.addr_size); in recovery_iter_advance() 71 if (ctx->iter.lba_last > dev->num_lbas) { in recovery_iter_advance() 72 ctx->iter.lba_last = dev->num_lbas; in recovery_iter_advance() 77 ftl_mngt_recovery_init(struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt) in ftl_mngt_recovery_init() argument 80 const uint64_t lbas_in_block = FTL_BLOCK_SIZE / dev->layout.l2p.addr_size; in ftl_mngt_recovery_init() 87 if (ftl_fast_recovery(dev)) { in ftl_mngt_recovery_init() [all …]
|
/spdk/lib/ftl/ |
H A D | ftl_layout.c | 39 superblock_region_size(struct spdk_ftl_dev *dev) in superblock_region_size() argument 41 const struct spdk_bdev *bdev = spdk_bdev_desc_get_bdev(dev->base_bdev_desc); in superblock_region_size() 52 superblock_region_blocks(struct spdk_ftl_dev *dev) in superblock_region_blocks() argument 54 return superblock_region_size(dev) / FTL_BLOCK_SIZE; in superblock_region_blocks() 58 ftl_md_region_blocks(struct spdk_ftl_dev *dev, uint64_t bytes) in ftl_md_region_blocks() argument 60 const uint64_t alignment = superblock_region_size(dev); in ftl_md_region_blocks() 71 ftl_md_region_align_blocks(struct spdk_ftl_dev *dev, uint64_t blocks) in ftl_md_region_align_blocks() argument 73 const uint64_t alignment = superblock_region_blocks(dev); in ftl_md_region_align_blocks() 121 dump_region(struct spdk_ftl_dev *dev, struct ftl_layout_region *region) in dump_region() 127 assert(!(region->current.offset % superblock_region_blocks(dev))); in is_region_disabled() 113 dump_region(struct spdk_ftl_dev * dev,struct ftl_layout_region * region) dump_region() argument 132 ftl_validate_regions(struct spdk_ftl_dev * dev,struct ftl_layout * layout) ftl_validate_regions() argument 176 get_num_user_lbas(struct spdk_ftl_dev * dev) get_num_user_lbas() argument 187 ftl_layout_region_get(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type) ftl_layout_region_get() argument 196 ftl_layout_base_offset(struct spdk_ftl_dev * dev) ftl_layout_base_offset() argument 202 layout_region_create_nvc(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type,uint32_t reg_version,size_t entry_size,size_t entry_count) layout_region_create_nvc() argument 219 layout_region_create_base(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type,uint32_t reg_version,size_t entry_size,size_t entry_count) layout_region_create_base() argument 257 legacy_layout_region_open_nvc(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type,uint32_t reg_version,size_t entry_size,size_t entry_count) legacy_layout_region_open_nvc() argument 268 legacy_layout_region_open_base(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type,uint32_t reg_version,size_t entry_size,size_t entry_count) legacy_layout_region_open_base() argument 279 layout_setup_legacy_default_nvc(struct spdk_ftl_dev * dev) layout_setup_legacy_default_nvc() argument 393 layout_setup_legacy_default_base(struct spdk_ftl_dev * dev) layout_setup_legacy_default_base() argument 417 layout_setup_legacy_default(struct spdk_ftl_dev * dev) layout_setup_legacy_default() argument 426 layout_setup_default_nvc(struct spdk_ftl_dev * dev) layout_setup_default_nvc() argument 524 layout_setup_default_base(struct spdk_ftl_dev * dev) layout_setup_default_base() argument 549 layout_setup_default(struct spdk_ftl_dev * dev) layout_setup_default() argument 558 layout_load(struct spdk_ftl_dev * dev) layout_load() argument 570 ftl_layout_setup(struct spdk_ftl_dev * dev) ftl_layout_setup() argument 688 ftl_layout_setup_superblock(struct spdk_ftl_dev * dev) ftl_layout_setup_superblock() argument 738 ftl_layout_clear_superblock(struct spdk_ftl_dev * dev) ftl_layout_clear_superblock() argument 753 ftl_layout_dump(struct spdk_ftl_dev * dev) ftl_layout_dump() argument 775 ftl_layout_base_md_blocks(struct spdk_ftl_dev * dev) ftl_layout_base_md_blocks() argument 801 ftl_layout_blob_store(struct spdk_ftl_dev * dev,void * blob_buf,size_t blob_buf_sz) ftl_layout_blob_store() argument 826 ftl_layout_blob_load(struct spdk_ftl_dev * dev,void * blob_buf,size_t blob_sz) ftl_layout_blob_load() argument 854 ftl_layout_upgrade_add_region_placeholder(struct spdk_ftl_dev * dev,struct ftl_layout_tracker_bdev * layout_tracker,enum ftl_layout_region_type reg_type) ftl_layout_upgrade_add_region_placeholder() argument [all...] |
H A D | ftl_init.c | 37 init_core_thread(struct spdk_ftl_dev *dev) in init_core_thread() argument 45 if (dev->conf.core_mask) { in init_core_thread() 46 if (spdk_cpuset_parse(&cpumask, dev->conf.core_mask)) { in init_core_thread() 49 dev->core_thread = spdk_thread_create("ftl_core_thread", &cpumask); in init_core_thread() 51 dev->core_thread = spdk_get_thread(); in init_core_thread() 54 if (dev->core_thread == NULL) { in init_core_thread() 55 FTL_ERRLOG(dev, "Cannot create thread for mask %s\n", dev->conf.core_mask); in init_core_thread() 71 deinit_core_thread(struct spdk_ftl_dev *dev) in deinit_core_thread() argument 73 if (dev->core_thread && dev->conf.core_mask) { in deinit_core_thread() 74 spdk_thread_send_msg(dev->core_thread, exit_thread, in deinit_core_thread() [all …]
|
H A D | ftl_l2p.c | 22 ftl_l2p_init(struct spdk_ftl_dev *dev) in ftl_l2p_init() argument 24 TAILQ_INIT(&dev->l2p_deferred_pins); in ftl_l2p_init() 25 return FTL_L2P_OP(init)(dev); in ftl_l2p_init() 29 ftl_l2p_deinit(struct spdk_ftl_dev *dev) in ftl_l2p_deinit() argument 31 FTL_L2P_OP(deinit)(dev); in ftl_l2p_deinit() 45 ftl_l2p_pin(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count, ftl_l2p_pin_cb cb, void *cb_ctx, in ftl_l2p_pin() argument 49 FTL_L2P_OP(pin)(dev, pin_ctx); in ftl_l2p_pin() 53 ftl_l2p_unpin(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count) in ftl_l2p_unpin() argument 55 FTL_L2P_OP(unpin)(dev, lba, count); in ftl_l2p_unpin() 59 ftl_l2p_pin_skip(struct spdk_ftl_dev *dev, ftl_l2p_pin_cb cb, void *cb_ctx, in ftl_l2p_pin_skip() argument [all …]
|
H A D | ftl_band.c | 24 return ftl_get_num_blocks_in_band(band->dev) - in ftl_band_tail_md_offset() 25 ftl_tail_md_num_blocks(band->dev); in ftl_band_tail_md_offset() 37 struct spdk_ftl_dev *dev = band->dev; in ftl_band_free_p2l_map() local 46 ftl_mempool_put(dev->p2l_pool, p2l_map->band_map); in ftl_band_free_p2l_map() 54 struct spdk_ftl_dev *dev = band->dev; in ftl_band_free_md_entry() local 61 ftl_mempool_put(dev->band_md_pool, p2l_map->band_dma_md); in ftl_band_free_md_entry() 68 struct spdk_ftl_dev *dev = band->dev; in _ftl_band_set_free() local 71 TAILQ_INSERT_TAIL(&dev->free_bands, band, queue_entry); in _ftl_band_set_free() 75 dev->num_free++; in _ftl_band_set_free() 76 ftl_apply_limits(dev); in _ftl_band_set_free() [all …]
|
H A D | ftl_core.c | 33 struct spdk_ftl_dev *dev = io->dev; in ftl_io_cmpl_cb() local 35 ftl_stats_bdev_io_completed(dev, FTL_STATS_TYPE_USER, bdev_io); in ftl_io_cmpl_cb() 41 ftl_trace_completion(dev, io, FTL_TRACE_COMPLETION_DISK); in ftl_io_cmpl_cb() 61 ftl_get_limit(const struct spdk_ftl_dev *dev, int type) in ftl_get_limit() argument 64 return dev->conf.limits[type]; in ftl_get_limit() 68 ftl_shutdown_complete(struct spdk_ftl_dev *dev) in ftl_shutdown_complete() argument 72 if (dev->num_inflight) { in ftl_shutdown_complete() 76 if (!ftl_nv_cache_is_halted(&dev->nv_cache)) { in ftl_shutdown_complete() 77 ftl_nv_cache_halt(&dev in ftl_shutdown_complete() 116 ftl_apply_limits(struct spdk_ftl_dev * dev) ftl_apply_limits() argument 139 ftl_invalidate_addr(struct spdk_ftl_dev * dev,ftl_addr addr) ftl_invalidate_addr() argument 177 struct spdk_ftl_dev *dev = io->dev; ftl_get_next_read_addr() local 230 struct spdk_ftl_dev *dev = io->dev; ftl_submit_read() local 291 ftl_needs_reloc(struct spdk_ftl_dev * dev) ftl_needs_reloc() argument 303 spdk_ftl_dev_get_attrs(const struct spdk_ftl_dev * dev,struct spdk_ftl_attrs * attrs,size_t attrs_size) spdk_ftl_dev_get_attrs() argument 313 ftl_io_pin_cb(struct spdk_ftl_dev * dev,int status,struct ftl_l2p_pin_ctx * pin_ctx) ftl_io_pin_cb() argument 348 struct spdk_ftl_dev *dev = io->dev; start_io() local 374 queue_io(struct spdk_ftl_dev * dev,struct ftl_io * io) queue_io() argument 388 spdk_ftl_writev(struct spdk_ftl_dev * dev,struct ftl_io * io,struct spdk_io_channel * ch,uint64_t lba,uint64_t lba_cnt,struct iovec * iov,size_t iov_cnt,spdk_ftl_fn cb_fn,void * cb_arg) spdk_ftl_writev() argument 421 spdk_ftl_readv(struct spdk_ftl_dev * dev,struct ftl_io * io,struct spdk_io_channel * ch,uint64_t lba,uint64_t lba_cnt,struct iovec * iov,size_t iov_cnt,spdk_ftl_fn cb_fn,void * cb_arg) spdk_ftl_readv() argument 453 ftl_trim(struct spdk_ftl_dev * dev,struct ftl_io * io,struct spdk_io_channel * ch,uint64_t lba,uint64_t lba_cnt,spdk_ftl_fn cb_fn,void * cb_arg) ftl_trim() argument 467 spdk_ftl_unmap(struct spdk_ftl_dev * dev,struct ftl_io * io,struct spdk_io_channel * ch,uint64_t lba,uint64_t lba_cnt,spdk_ftl_fn cb_fn,void * cb_arg) spdk_ftl_unmap() argument 537 ftl_process_io_channel(struct spdk_ftl_dev * dev,struct ftl_io_channel * ioch) ftl_process_io_channel() argument 554 ftl_trim_log_clear(struct spdk_ftl_dev * dev) ftl_trim_log_clear() argument 590 struct spdk_ftl_dev *dev = io->dev; ftl_trim_log_persist() local 601 struct spdk_ftl_dev *dev = io->dev; ftl_trim_md_cb() local 614 struct spdk_ftl_dev *dev = io->dev; ftl_trim_log_open_cb() local 641 ftl_set_trim_map(struct spdk_ftl_dev * dev,uint64_t lba,uint64_t num_blocks,uint64_t seq_id) ftl_set_trim_map() argument 669 struct spdk_ftl_dev *dev = io->dev; ftl_process_trim() local 693 ftl_process_io_queue(struct spdk_ftl_dev * dev) ftl_process_io_queue() argument 746 struct spdk_ftl_dev *dev = ctx; ftl_core_poller() local 769 ftl_band_get_next_free(struct spdk_ftl_dev * dev) ftl_band_get_next_free() argument 812 spdk_ftl_dev_set_fast_shutdown(struct spdk_ftl_dev * dev,bool fast_shutdown) spdk_ftl_dev_set_fast_shutdown() argument 819 ftl_stats_bdev_io_completed(struct spdk_ftl_dev * dev,enum ftl_stats_type type,struct spdk_bdev_io * bdev_io) ftl_stats_bdev_io_completed() argument 853 spdk_ftl_get_io_channel(struct spdk_ftl_dev * dev) spdk_ftl_get_io_channel() argument 859 ftl_stats_crc_error(struct spdk_ftl_dev * dev,enum ftl_stats_type type) ftl_stats_crc_error() argument 869 struct spdk_ftl_dev *dev; global() member 898 spdk_ftl_get_stats(struct spdk_ftl_dev * dev,struct ftl_stats * stats,spdk_ftl_stats_fn cb_fn,void * cb_arg) spdk_ftl_get_stats() argument [all...] |
H A D | ftl_l2p_flat.c | 14 get_l2p_md(struct spdk_ftl_dev *dev) in get_l2p_md() argument 16 return dev->layout.md[FTL_LAYOUT_REGION_TYPE_L2P]; in get_l2p_md() 25 ftl_l2p_flat_pin(struct spdk_ftl_dev *dev, struct ftl_l2p_pin_ctx *pin_ctx) in ftl_l2p_flat_pin() argument 27 assert(dev->num_lbas >= pin_ctx->lba + pin_ctx->count); in ftl_l2p_flat_pin() 29 ftl_l2p_pin_complete(dev, 0, pin_ctx); in ftl_l2p_flat_pin() 33 ftl_l2p_flat_unpin(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count) in ftl_l2p_flat_unpin() argument 35 assert(dev->num_lbas >= lba + count); in ftl_l2p_flat_unpin() 39 ftl_l2p_flat_set(struct spdk_ftl_dev *dev, uint64_t lba, ftl_addr addr) in ftl_l2p_flat_set() argument 41 struct ftl_l2p_flat *l2p_flat = dev->l2p; in ftl_l2p_flat_set() 43 assert(dev->num_lbas > lba); in ftl_l2p_flat_set() [all …]
|
H A D | ftl_core.h | 214 void ftl_apply_limits(struct spdk_ftl_dev *dev); 216 void ftl_invalidate_addr(struct spdk_ftl_dev *dev, ftl_addr addr); 224 bool ftl_needs_reloc(struct spdk_ftl_dev *dev); 226 struct ftl_band *ftl_band_get_next_free(struct spdk_ftl_dev *dev); 228 void ftl_set_trim_map(struct spdk_ftl_dev *dev, uint64_t lba, uint64_t num_blocks, 231 void ftl_recover_max_seq(struct spdk_ftl_dev *dev); 233 void ftl_stats_bdev_io_completed(struct spdk_ftl_dev *dev, enum ftl_stats_type type, 236 void ftl_stats_crc_error(struct spdk_ftl_dev *dev, enum ftl_stats_type type); in ftl_get_num_blocks_in_band() 238 int ftl_trim(struct spdk_ftl_dev *dev, struct ftl_io *io, struct spdk_io_channel *ch, in ftl_get_num_blocks_in_band() 242 ftl_get_num_blocks_in_band(const struct spdk_ftl_dev *dev) in ftl_get_write_unit_size() 235 ftl_get_num_blocks_in_band(const struct spdk_ftl_dev * dev) ftl_get_num_blocks_in_band() argument 248 ftl_get_core_thread(const struct spdk_ftl_dev * dev) ftl_get_core_thread() argument 254 ftl_add_io_activity(struct spdk_ftl_dev * dev) ftl_add_io_activity() argument 260 ftl_get_num_bands(const struct spdk_ftl_dev * dev) ftl_get_num_bands() argument 266 ftl_check_core_thread(const struct spdk_ftl_dev * dev) ftl_check_core_thread() argument 272 ftl_addr_packed(const struct spdk_ftl_dev * dev) ftl_addr_packed() argument 278 ftl_addr_in_nvc(const struct spdk_ftl_dev * dev,ftl_addr addr) ftl_addr_in_nvc() argument 285 ftl_addr_to_nvc_offset(const struct spdk_ftl_dev * dev,ftl_addr addr) ftl_addr_to_nvc_offset() argument 292 ftl_addr_from_nvc_offset(const struct spdk_ftl_dev * dev,uint64_t cache_offset) ftl_addr_from_nvc_offset() argument 298 ftl_get_next_seq_id(struct spdk_ftl_dev * dev) ftl_get_next_seq_id() argument 304 ftl_p2l_map_num_blocks(const struct spdk_ftl_dev * dev) ftl_p2l_map_num_blocks() argument 311 ftl_tail_md_num_blocks(const struct spdk_ftl_dev * dev) ftl_tail_md_num_blocks() argument 329 ftl_fast_startup(const struct spdk_ftl_dev * dev) ftl_fast_startup() argument 335 ftl_fast_recovery(const struct spdk_ftl_dev * dev) ftl_fast_recovery() argument [all...] |
H A D | ftl_debug.c | 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() [all …]
|
/spdk/test/nvme/err_injection/ |
H A D | err_injection.c | 14 struct dev { struct 23 static struct dev devs[MAX_DEVS]; argument 45 struct dev *dev; in attach_cb() local 48 /* add to dev list */ in attach_cb() 49 dev = &devs[num_devs++]; in attach_cb() 54 dev->ctrlr = ctrlr; in attach_cb() 56 dev->ns = spdk_nvme_ctrlr_get_ns(ctrlr, nsid); in attach_cb() 58 dev->qpair = spdk_nvme_ctrlr_alloc_io_qpair(ctrlr, NULL, 0); in attach_cb() 59 if (dev in attach_cb() 73 struct dev *dev = cb_arg; get_feature_test_cb() local 97 struct dev *dev; get_feature_test() local 127 struct dev *dev = cb_arg; read_test_cb() local 152 struct dev *dev; read_test() local 188 struct dev *dev; main() local [all...] |
/spdk/lib/virtio/ |
H A D | virtio_vfio_user.c | 30 struct virtio_vfio_user_dev *dev = vdev->ctx; in virtio_vfio_user_read_dev_config() local 33 return spdk_vfio_user_pci_bar_access(dev->ctx, dev->pci_cap_region, in virtio_vfio_user_read_dev_config() 34 dev->pci_cap_device_specific_offset + offset, in virtio_vfio_user_read_dev_config() 42 struct virtio_vfio_user_dev *dev = vdev->ctx; in virtio_vfio_user_write_dev_config() local 45 return spdk_vfio_user_pci_bar_access(dev->ctx, dev->pci_cap_region, in virtio_vfio_user_write_dev_config() 46 dev->pci_cap_device_specific_offset + offset, in virtio_vfio_user_write_dev_config() 53 struct virtio_vfio_user_dev *dev = vdev->ctx; in virtio_vfio_user_get_status() local 58 offset = dev in virtio_vfio_user_get_status() 73 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_set_status() local 90 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_get_features() local 135 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_set_features() local 184 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_destruct_dev() local 195 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_get_queue_size() local 224 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_setup_queue() local 345 struct virtio_vfio_user_dev *dev = vdev->ctx; virtio_vfio_user_del_queue() local 393 struct virtio_vfio_user_dev *dev; virtio_vfio_user_dev_init() local [all...] |
/spdk/test/nvme/aer/ |
H A D | aer.c | 15 struct dev { struct 25 static void get_feature_test(struct dev *dev); argument 27 static struct dev g_devs[MAX_DEVS]; 59 struct dev *dev = cb_arg; in set_temp_completion() local 64 AER_PRINTF("%s: set feature (temp threshold) failed\n", dev->name); in set_temp_completion() 75 set_temp_threshold(struct dev *dev, uint32_t temp) in set_temp_threshold() argument 84 rc = spdk_nvme_ctrlr_cmd_admin_raw(dev in set_temp_threshold() 97 struct dev *dev = cb_arg; get_temp_completion() local 115 get_temp_threshold(struct dev * dev) get_temp_threshold() argument 132 print_health_page(struct dev * dev,struct spdk_nvme_health_information_page * hip) print_health_page() argument 141 struct dev *dev = cb_arg; get_health_log_page_completion() local 156 get_health_log_page(struct dev * dev) get_health_log_page() argument 173 get_ns_state_test(struct dev * dev,uint32_t nsid) get_ns_state_test() argument 186 struct dev *dev; cleanup() local 198 struct dev *dev = arg; aer_cb() local 356 struct dev *dev; attach_cb() local 379 struct dev *dev = cb_arg; get_feature_test_cb() local 399 get_feature_test(struct dev * dev) get_feature_test() argument 419 struct dev *dev; spdk_aer_temperature_test() local 497 struct dev *dev; spdk_aer_changed_ns_test() local 574 struct dev *dev; main() local [all...] |
/spdk/lib/scsi/ |
H A D | dev.c | 20 struct spdk_scsi_dev *dev; in allocate_dev() local 24 dev = &g_devs[i]; in allocate_dev() 25 if (!dev->is_allocated) { in allocate_dev() 26 memset(dev, 0, sizeof(*dev)); in allocate_dev() 27 dev->id = i; in allocate_dev() 28 dev->is_allocated = 1; in allocate_dev() 29 TAILQ_INIT(&dev->luns); in allocate_dev() 30 return dev; in allocate_dev() 38 free_dev(struct spdk_scsi_dev *dev) in free_dev() argument 40 assert(dev->is_allocated == 1); in free_dev() [all …]
|
/spdk/test/unit/lib/scsi/dev.c/ |
H A D | dev_ut.c | 113 struct spdk_scsi_dev dev = { .is_allocated = 1 }; in dev_destruct_zero_luns() local 118 spdk_scsi_dev_destruct(&dev, NULL, NULL); in dev_destruct_zero_luns() 124 struct spdk_scsi_dev dev = { .is_allocated = 1 }; in dev_destruct_null_lun() local 127 TAILQ_INIT(&dev.luns); in dev_destruct_null_lun() 130 spdk_scsi_dev_destruct(&dev, NULL, NULL); in dev_destruct_null_lun() 136 struct spdk_scsi_dev dev = { in dev_destruct_success() local 138 .luns = TAILQ_HEAD_INITIALIZER(dev.luns), in dev_destruct_success() 143 rc = spdk_scsi_dev_add_lun(&dev, "malloc0", 0, NULL, NULL); in dev_destruct_success() 148 spdk_scsi_dev_destruct(&dev, NULL, NULL); in dev_destruct_success() 155 struct spdk_scsi_dev *dev; in dev_construct_num_luns_zero() local [all …]
|
/spdk/test/unit/lib/ftl/common/ |
H A D | utils.c | 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; in test_init_ftl_dev() local 67 dev = calloc(1, sizeof(*dev)); in test_init_ftl_dev() 68 SPDK_CU_ASSERT_FATAL(dev != NULL); in test_init_ftl_dev() 70 dev->xfer_size = geo->write_unit_size; in test_init_ftl_dev() 71 dev->core_thread = spdk_thread_create("unit_test_thread", NULL); in test_init_ftl_dev() 72 spdk_set_thread(dev in test_init_ftl_dev() 111 test_init_ftl_band(struct spdk_ftl_dev * dev,size_t id,size_t zone_size) test_init_ftl_band() argument 135 test_free_ftl_dev(struct spdk_ftl_dev * dev) test_free_ftl_dev() argument 171 struct spdk_ftl_dev *dev = band->dev; test_offset_from_addr() local [all...] |
/spdk/lib/vmd/ |
H A D | vmd.c | 187 * dev - vmd_pci_device to allocate a base address for. 194 vmd_allocate_base_addr(struct vmd_adapter *vmd, struct vmd_pci_device *dev, uint32_t size) in vmd_allocate_base_addr() argument 209 if (dev) { in vmd_allocate_base_addr() 210 hp_bus = dev->parent; in vmd_allocate_base_addr() 234 vmd_is_end_device(struct vmd_pci_device *dev) in vmd_is_end_device() argument 236 return (dev && dev->header) && in vmd_is_end_device() 237 ((dev->header->common.header_type & ~PCI_MULTI_FUNCTION) == PCI_HEADER_TYPE_NORMAL); in vmd_is_end_device() 241 vmd_update_base_limit_register(struct vmd_pci_device *dev, uint16_t base, uint16_t limit) in vmd_update_base_limit_register() argument 250 if (dev in vmd_update_base_limit_register() 283 vmd_get_base_addr(struct vmd_pci_device * dev,uint32_t index,uint32_t size) vmd_get_base_addr() argument 299 vmd_assign_base_addrs(struct vmd_pci_device * dev) vmd_assign_base_addrs() argument 390 vmd_get_device_capabilities(struct vmd_pci_device * dev) vmd_get_device_capabilities() argument 432 vmd_get_enhanced_capabilities(struct vmd_pci_device * dev,uint16_t capability_id) vmd_get_enhanced_capabilities() argument 454 vmd_read_config_space(struct vmd_pci_device * dev) vmd_read_config_space() argument 469 vmd_update_scan_info(struct vmd_pci_device * dev) vmd_update_scan_info() argument 532 vmd_init_hotplug(struct vmd_pci_device * dev,struct vmd_pci_bus * bus) vmd_init_hotplug() argument 590 struct vmd_pci_device *dev = NULL; vmd_alloc_dev() local 683 vmd_get_hotplug_bus_numbers(struct vmd_pci_device * dev) vmd_get_hotplug_bus_numbers() argument 697 vmd_enable_msix(struct vmd_pci_device * dev) vmd_enable_msix() argument 712 vmd_disable_msix(struct vmd_pci_device * dev) vmd_disable_msix() argument 728 vmd_setup_msix(struct vmd_pci_device * dev,volatile struct pci_msix_table_entry * vmdEntry) vmd_setup_msix() argument 751 volatile struct vmd_pci_device *dev = bridge; vmd_bus_update_bridge_info() local 768 vmd_is_supported_device(struct vmd_pci_device * dev) vmd_is_supported_device() argument 777 struct vmd_pci_device *dev = SPDK_CONTAINEROF(pci_dev, struct vmd_pci_device, pci); vmd_dev_map_bar() local 796 struct vmd_pci_device *dev = SPDK_CONTAINEROF(_dev, struct vmd_pci_device, pci); vmd_dev_cfg_read() local 816 struct vmd_pci_device *dev = SPDK_CONTAINEROF(_dev, struct vmd_pci_device, pci); vmd_dev_cfg_write() local 833 vmd_dev_free(struct vmd_pci_device * dev) vmd_dev_free() argument 851 vmd_dev_detach(struct spdk_pci_device * dev) vmd_dev_detach() argument 863 vmd_dev_init(struct vmd_pci_device * dev) vmd_dev_init() argument 884 vmd_init_end_device(struct vmd_pci_device * dev) vmd_init_end_device() argument 1035 vmd_print_pci_info(struct vmd_pci_device * dev) vmd_print_pci_info() argument 1080 vmd_cache_scan_info(struct vmd_pci_device * dev) vmd_cache_scan_info() argument 1134 struct vmd_pci_device *dev; vmd_scan_pcibus() local 1267 struct vmd_pci_device *dev; vmd_find_device() local 1332 struct vmd_pci_device *dev; spdk_vmd_pci_device_list() local 1488 struct vmd_pci_device *dev; vmd_attach_device() local 1535 struct vmd_pci_device *dev = SPDK_CONTAINEROF(pci_dev, struct vmd_pci_device, pci); vmd_detach_device() local [all...] |
/spdk/lib/ftl/upgrade/ |
H A D | ftl_sb_v5.c | 17 typedef size_t (*blob_store_fn)(struct spdk_ftl_dev *dev, void *blob_buf, size_t blob_buf_sz); 18 typedef int (*blob_load_fn)(struct spdk_ftl_dev *dev, void *blob_buf, size_t blob_sz); 35 ftl_superblock_v5_validate_blob_area(struct spdk_ftl_dev *dev) in ftl_superblock_v5_validate_blob_area() argument 37 union ftl_superblock_ver *sb_ver = (union ftl_superblock_ver *)dev->sb; in ftl_superblock_v5_validate_blob_area() 45 sb_blob_store(struct spdk_ftl_dev *dev, struct ftl_superblock_v5_md_blob_hdr *sb_blob_hdr, in sb_blob_store() argument 48 struct ftl_superblock_v5 *sb = (struct ftl_superblock_v5 *)dev->sb; in sb_blob_store() 62 blob_sz = blob_store(dev, sb_blob_area, blob_sz); in sb_blob_store() 69 base_blob_store(struct spdk_ftl_dev *dev, void *blob_buf, size_t blob_buf_sz) in base_blob_store() argument 71 return ftl_layout_tracker_bdev_blob_store(dev->base_layout_tracker, blob_buf, blob_buf_sz); in base_blob_store() 75 nvc_blob_store(struct spdk_ftl_dev *dev, voi argument 81 ftl_superblock_v5_store_blob_area(struct spdk_ftl_dev * dev) ftl_superblock_v5_store_blob_area() argument 122 sb_md_layout_find_oldest_region(struct spdk_ftl_dev * dev,struct ftl_layout_tracker_bdev * layout_tracker,enum ftl_layout_region_type reg_type,void * find_filter) sb_md_layout_find_oldest_region() argument 153 sb_md_layout_find_latest_region(struct spdk_ftl_dev * dev,struct ftl_layout_tracker_bdev * layout_tracker,enum ftl_layout_region_type reg_type,void * find_filter) sb_md_layout_find_latest_region() argument 184 sb_md_layout_find_region_version(struct spdk_ftl_dev * dev,struct ftl_layout_tracker_bdev * layout_tracker,enum ftl_layout_region_type reg_type,void * find_filter) sb_md_layout_find_region_version() argument 212 sb_md_layout_find_region(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type,sb_md_layout_find_fn find_fn,void * find_filter) sb_md_layout_find_region() argument 230 sb_blob_load(struct spdk_ftl_dev * dev,struct ftl_superblock_v5_md_blob_hdr * sb_blob_hdr,blob_load_fn blob_load) sb_blob_load() argument 258 base_blob_load(struct spdk_ftl_dev * dev,void * blob_buf,size_t blob_sz) base_blob_load() argument 264 nvc_blob_load(struct spdk_ftl_dev * dev,void * blob_buf,size_t blob_sz) nvc_blob_load() argument 270 ftl_superblock_v5_load_blob_area(struct spdk_ftl_dev * dev) ftl_superblock_v5_load_blob_area() argument 303 sb_get_md_layout_tracker(struct spdk_ftl_dev * dev,struct ftl_layout_region * reg) sb_get_md_layout_tracker() argument 309 sb_md_layout_delete_prev_region(struct spdk_ftl_dev * dev,struct ftl_layout_region * reg) sb_md_layout_delete_prev_region() argument 320 sb_md_layout_update_prev_region(struct spdk_ftl_dev * dev,struct ftl_layout_region * reg,uint32_t new_version) sb_md_layout_update_prev_region() argument 350 ftl_superblock_v5_md_layout_upgrade_region(struct spdk_ftl_dev * dev,struct ftl_layout_region * reg,uint32_t new_version) ftl_superblock_v5_md_layout_upgrade_region() argument 402 ftl_superblock_v5_md_layout_dump(struct spdk_ftl_dev * dev) ftl_superblock_v5_md_layout_dump() argument 437 layout_apply_from_sb_blob(struct spdk_ftl_dev * dev,struct ftl_layout_tracker_bdev * layout_tracker,int (* filter_region_type_fn)(enum ftl_layout_region_type)) layout_apply_from_sb_blob() argument 493 layout_region_verify(struct spdk_ftl_dev * dev,enum ftl_layout_region_type reg_type) layout_region_verify() argument 511 layout_fixup_reg_data_base(struct spdk_ftl_dev * dev) layout_fixup_reg_data_base() argument 538 layout_fixup_base(struct spdk_ftl_dev * dev) layout_fixup_base() argument 575 layout_fixup_nvc(struct spdk_ftl_dev * dev) layout_fixup_nvc() argument 661 layout_apply_nvc(struct spdk_ftl_dev * dev) layout_apply_nvc() argument 671 layout_apply_base(struct spdk_ftl_dev * dev) layout_apply_base() argument 681 ftl_superblock_v5_md_layout_apply(struct spdk_ftl_dev * dev) ftl_superblock_v5_md_layout_apply() argument [all...] |
/spdk/module/vfu_device/ |
H A D | vfu_virtio.c | 24 static int vfu_virtio_dev_start(struct vfu_virtio_dev *dev); 25 static int vfu_virtio_dev_stop(struct vfu_virtio_dev *dev); 28 vfu_virtio_unmap_q(struct vfu_virtio_dev *dev, struct q_mapping *mapping) in vfu_virtio_unmap_q() argument 30 struct vfu_virtio_endpoint *virtio_endpoint = dev->virtio_endpoint; in vfu_virtio_unmap_q() 41 vfu_virtio_map_q(struct vfu_virtio_dev *dev, struct q_mapping *mapping, uint64_t phys_addr, in vfu_virtio_map_q() argument 44 struct vfu_virtio_endpoint *virtio_endpoint = dev->virtio_endpoint; in vfu_virtio_map_q() 62 virtio_dev_map_vq(struct vfu_virtio_dev *dev, struct vfu_virtio_vq *vq) in virtio_dev_map_vq() argument 71 SPDK_DEBUGLOG(vfu_virtio, "%s: try to map vq %u\n", dev->name, vq->id); in virtio_dev_map_vq() 73 len = virtio_queue_desc_size(dev, vq); in virtio_dev_map_vq() 75 ret = vfu_virtio_map_q(dev, &vq->desc, phys_addr, len); in virtio_dev_map_vq() [all …]
|
/spdk/test/unit/lib/ftl/ftl_io.c/ |
H A D | ftl_io_ut.c | 60 DEFINE_STUB(ftl_reloc_init, struct ftl_reloc *, (struct spdk_ftl_dev *dev), NULL); 63 DEFINE_STUB_V(ftl_l2p_unpin, (struct spdk_ftl_dev *dev, uint64_t lba, uint64_t count)); 64 DEFINE_STUB(ftl_p2l_ckpt_acquire, struct ftl_p2l_ckpt *, (struct spdk_ftl_dev *dev), NULL); 65 DEFINE_STUB_V(ftl_p2l_ckpt_release, (struct spdk_ftl_dev *dev, struct ftl_p2l_ckpt *ckpt)); 66 DEFINE_STUB(ftl_l2p_get, ftl_addr, (struct spdk_ftl_dev *dev, uint64_t lba), 0); 68 DEFINE_STUB_V(ftl_property_dump_bool, (struct spdk_ftl_dev *dev, 71 DEFINE_STUB(ftl_property_decode_bool, int, (struct spdk_ftl_dev *dev, struct ftl_property *property, 73 DEFINE_STUB_V(ftl_property_set_generic, (struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt, 75 DEFINE_STUB_V(ftl_property_register, (struct spdk_ftl_dev *dev, 84 DEFINE_STUB_V(ftl_trace_submission, (struct spdk_ftl_dev *dev, cons 135 struct spdk_ftl_dev *dev; setup_device() local 171 free_device(struct spdk_ftl_dev * dev) free_device() argument 195 setup_io(struct ftl_io * io,struct spdk_ftl_dev * dev,spdk_ftl_fn cb,void * ctx) setup_io() argument 213 struct spdk_ftl_dev *dev; test_completion() local 261 struct spdk_ftl_dev *dev; test_multiple_ios() local [all...] |