linux/drivers/lightnvm
Igor Konopko f2e024570e lightnvm: pblk: GC error handling
Currently when there is an IO error (or similar) on GC read path, pblk
still move the line, which was currently under GC process to free state.
Such a behaviour can lead to silent data mismatch issue.

With this patch, the line which was under GC process on which some IO
errors occurred, will be putted back to closed state (instead of free
state as it was without this patch) and the L2P mapping for such a
failed sectors will not be updated.

Then in case of any user IOs to such a failed sectors, pblk would be
able to return at least real IO error instead of stale data as it is
right now.

Signed-off-by: Igor Konopko <igor.j.konopko@intel.com>
Reviewed-by: Javier González <javier@javigon.com>
Reviewed-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-05-06 10:19:18 -06:00
..
core.c lightnvm: prevent race condition on pblk remove 2019-05-06 10:19:18 -06:00
Kconfig lightnvm: remove dependencies on BLK_DEV_NVME and PCI 2018-10-09 08:25:05 -06:00
Makefile lightnvm: remove rrpc 2018-01-05 08:50:12 -07:00
pblk-cache.c lightnvm: pblk: add SPDX license tag 2018-10-09 08:25:08 -06:00
pblk-core.c lightnvm: pblk: GC error handling 2019-05-06 10:19:18 -06:00
pblk-gc.c lightnvm: pblk: GC error handling 2019-05-06 10:19:18 -06:00
pblk-init.c lightnvm: pblk: fix bio leak when bio is split 2019-05-06 10:19:17 -06:00
pblk-map.c lightnvm: pblk: ensure that erase is chunk aligned 2019-05-06 10:19:17 -06:00
pblk-rb.c lightnvm: pblk: fix lock order in pblk_rb_tear_down_check 2019-05-06 10:19:18 -06:00
pblk-read.c lightnvm: pblk: GC error handling 2019-05-06 10:19:18 -06:00
pblk-recovery.c lightnvm: pblk: remove internal IO timeout 2019-05-06 10:19:18 -06:00
pblk-rl.c pblk: fix max_io calculation 2019-03-07 08:59:26 -07:00
pblk-sysfs.c lightnvm: pblk: support packed metadata 2018-12-11 12:22:35 -07:00
pblk-trace.h lightnvm: pblk: fix TRACE_INCLUDE_PATH 2019-02-11 08:18:07 -07:00
pblk-write.c lightnvm: pblk: kick writer on write recovery path 2019-05-06 10:19:18 -06:00
pblk.h lightnvm: pblk: GC error handling 2019-05-06 10:19:18 -06:00