Spdk/lib/ftl
Artur Paszkiewicz 71a1762821 ftl: mempool support for durable format objects
Allows for using shared memory in memory pools. Adds API for
accessing such pools after dirty shutdown (claiming them, ie.
marking an entry as actively used; calling the
ftl_mempool_initialize_ext will reclaim all unused entries back
to the pool). Also introduces API for accessing objects, since
using direct pointers is not possible (as addresses may change
inbetween application startups).

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: I5325b39d68aef7e231945cee9d92c925cab2fb2a
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13346
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-08-30 14:48:50 +00:00
..
mngt FTL: Add relocation logic 2022-08-30 14:48:50 +00:00
utils ftl: mempool support for durable format objects 2022-08-30 14:48:50 +00:00
ftl_band_ops.c FTL: Add reloc helper functions 2022-08-22 20:21:15 +00:00
ftl_band.c FTL: Add reloc helper functions 2022-08-22 20:21:15 +00:00
ftl_band.h FTL: Add reloc helper functions 2022-08-22 20:21:15 +00:00
ftl_core.c FTL: Add relocation logic 2022-08-30 14:48:50 +00:00
ftl_core.h FTL: Add relocation logic 2022-08-30 14:48:50 +00:00
ftl_debug.c FTL: Add debug function for dumping band information 2022-08-18 19:09:50 +00:00
ftl_debug.h FTL: Add debug function for dumping band information 2022-08-18 19:09:50 +00:00
ftl_init.c ftl: superblock in shared memory 2022-08-22 20:21:15 +00:00
ftl_internal.h FTL: Add relocation logic 2022-08-30 14:48:50 +00:00
ftl_io.c FTL: Add internal band state changes 2022-08-18 19:09:50 +00:00
ftl_io.h ftl: ftl_rq helpers for compaction 2022-08-19 17:37:14 +00:00
ftl_l2p_flat.c FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_l2p_flat.h FTL: Add L2P API and flat L2P implementation 2022-08-12 09:01:40 +00:00
ftl_l2p.c FTL: Add band P2L map usage 2022-08-18 19:09:50 +00:00
ftl_l2p.h FTL: Add L2P API and flat L2P implementation 2022-08-12 09:01:40 +00:00
ftl_layout.c FTL: Add calculation of device size 2022-08-18 19:09:50 +00:00
ftl_layout.h FTL: Add band structure and helper functions 2022-08-18 19:09:50 +00:00
ftl_nv_cache_io.h FTL: Initial nv cache structure 2022-08-12 09:01:40 +00:00
ftl_nv_cache.c FTL: Add free chunk logic 2022-08-19 17:37:14 +00:00
ftl_nv_cache.h FTL: Add free chunk logic 2022-08-19 17:37:14 +00:00
ftl_reloc.c FTL: Add relocation logic 2022-08-30 14:48:50 +00:00
ftl_rq.c ftl: ftl_rq helpers for compaction 2022-08-19 17:37:14 +00:00
ftl_sb_common.h ftl: superblock in shared memory 2022-08-22 20:21:15 +00:00
ftl_sb_current.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb.c ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_utils.h FTL: Add ftl mempools 2022-08-02 19:00:42 +00:00
ftl_writer.c FTL: Add writer logic 2022-08-19 17:37:14 +00:00
ftl_writer.h FTL: Add writer logic 2022-08-19 17:37:14 +00:00
Makefile ftl: bitmap on external memory 2022-08-30 14:48:50 +00:00
spdk_ftl.map FTL: Add read path 2022-08-19 17:37:14 +00:00