Spdk/lib/ftl
Kozlowski Mateusz 0e33da4974 ftl: fast shutdown
Adds API for fast shutdown - the ability for FTL to skip most
of the metadata persists made during clean shutdown, and relying
on their representation in shared memory instead. This allows for
faster update of SPDK (or just FTL, assuming no metadata changes),
with downtime reduction from 2-5 seconds to 500-1000 ms (for
14TiB+800GiB base and cache drives).

Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Change-Id: I5999d31698a81512db8d5893eabee7b505c80d06
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13348
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: fast shutdown 2022-08-30 14:48:50 +00:00
utils ftl: fast shutdown 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: p2l map on shm 2022-08-30 14:48:50 +00:00
ftl_band.h ftl: p2l map on shm 2022-08-30 14:48:50 +00:00
ftl_core.c ftl: fast shutdown 2022-08-30 14:48:50 +00:00
ftl_core.h ftl: p2l map on shm 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: fast shutdown 2022-08-30 14:48:50 +00:00