Spdk/lib/ftl
Kozlowski Mateusz bcdedd1a2b FTL: Add recovery iterations
In order to fit inside the maximum memory usage limit, recovery needs
to be split into multiple parts. During each iteration, part of L2P needs
to be read, modified as necessary and saved back to the cache.
This patch introduces the load/save steps, initialization of seq_id array
and valid map recovery. The actual L2P recovery is done in the followup patch.

Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I8ceadc5ef280542a173d83b932a983d5d86604a1
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13371
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-09-07 00:08:34 +00:00
..
mngt FTL: Add recovery iterations 2022-09-07 00:08:34 +00:00
utils ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_band_ops.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_band.c Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_band.h Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_core.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_core.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_debug.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_debug.h ftl: validate band metadata in debug mode 2022-08-30 14:48:50 +00:00
ftl_init.c ftl: superblock in shared memory 2022-08-22 20:21:15 +00:00
ftl_internal.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_io.c FTL: Add internal band state changes 2022-08-18 19:09:50 +00:00
ftl_io.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_l2p_cache.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_l2p_cache.h FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p_flat.c FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p_flat.h FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_l2p.h FTL: Persist metadata on clean shutdown 2022-09-02 17:40:09 +00:00
ftl_layout.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_layout.h ftl: p2l checkpointing 2022-09-07 00:08:34 +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: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_nv_cache.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_p2l.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_reloc.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_rq.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_common.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_current.h ftl: p2l checkpointing 2022-09-07 00:08:34 +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: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_writer.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
Makefile Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
spdk_ftl.map ftl: fast shutdown 2022-08-30 14:48:50 +00:00