Spdk/lib/ftl
Konrad Sztyber 4d7c81625c lib/ftl: non-volatile cache data recovery
Use the data placed on the non-volatile cache to perform recovery in
case the device wasn't shut down cleanly. The write phase ranges are
read and their data is copied onto the OC device.

The code added in this patch will correctly copy the data from
overlapping ranges, however it won't do anything about these overlapping
areas, so subsequent power loss happening quickly after recovery might
result in data loss.

Change-Id: Ib4c66092cee858496ec66f789fcfb1e7e32f5c20
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/458105
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@intel.com>
Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
2019-07-12 12:39:38 +00:00
..
ftl_anm.c lib/ftl: Enable ANM events handling 2019-07-03 04:28:13 +00:00
ftl_anm.h lib/ftl: Enable ANM events handling 2019-07-03 04:28:13 +00:00
ftl_band.c lib/ftl: Skip block with ongoing write during relocation 2019-07-01 03:29:00 +00:00
ftl_band.h lib/ftl: keep reloc traffic out of non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_core.c lib/ftl: keep reloc traffic out of non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_core.h lib/ftl: non-volatile cache data recovery 2019-07-12 12:39:38 +00:00
ftl_debug.c lib/ftl: Track cached lba map segments 2019-06-11 06:21:46 +00:00
ftl_debug.h lib/ftl: Remove ftl_md struct from band 2019-06-07 04:39:14 +00:00
ftl_init.c lib/ftl: distinct non-volatile cache recovery phase 2019-07-12 12:39:38 +00:00
ftl_io.c lib/ftl: initialize LBA when allocating internal IOs 2019-07-12 12:39:38 +00:00
ftl_io.h lib/ftl: allow writes bypassing non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_ppa.h ftl: Initial implementation 2019-01-11 09:15:39 +00:00
ftl_reloc.c lib/ftl: keep reloc traffic out of non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_reloc.h check_format: Verify #include syntax 2019-01-29 00:12:07 +00:00
ftl_restore.c lib/ftl: non-volatile cache data recovery 2019-07-12 12:39:38 +00:00
ftl_rwb.c lib/ftl: keep reloc traffic out of non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_rwb.h lib/ftl: keep reloc traffic out of non-volatile cache 2019-07-12 12:39:38 +00:00
ftl_trace.c lib/ftl: Remove ftl_md struct from band 2019-06-07 04:39:14 +00:00
ftl_trace.h lib/ftl: traces refactor 2019-04-01 09:05:33 +00:00
Makefile ftl: Added trace support 2019-01-18 18:58:04 +00:00