OpenCloudOS-Kernel/drivers/lightnvm
Hans Holmberg 6a3abf5bee lightnvm: pblk: rework write error recovery path
The write error recovery path is incomplete, so rework
the write error recovery handling to do resubmits directly
from the write buffer.

When a write error occurs, the remaining sectors in the chunk are
mapped out and invalidated and the request inserted in a resubmit list.

The writer thread checks if there are any requests to resubmit,
scans and invalidates any lbas that have been overwritten by later
writes and resubmits the failed entries.

Signed-off-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Reviewed-by: Javier González <javier@cnexlabs.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-06-01 09:02:53 -06:00
..
Kconfig lightnvm: remove rrpc 2018-01-05 08:50:12 -07:00
Makefile lightnvm: remove rrpc 2018-01-05 08:50:12 -07:00
core.c lightnvm: pass flag on graceful teardown to targets 2018-06-01 07:43:53 -06:00
pblk-cache.c lightnvm: pblk: export write amplification counters to sysfs 2018-03-29 17:29:09 -06:00
pblk-core.c lightnvm: pblk: remove dead function 2018-06-01 07:43:53 -06:00
pblk-gc.c lightnvm: pass flag on graceful teardown to targets 2018-06-01 07:43:53 -06:00
pblk-init.c lightnvm: pblk: rework write error recovery path 2018-06-01 09:02:53 -06:00
pblk-map.c lightnvm: pblk: fail gracefully on line alloc. failure 2018-06-01 07:43:53 -06:00
pblk-rb.c lightnvm: pblk: rework write error recovery path 2018-06-01 09:02:53 -06:00
pblk-read.c lightnvm: pblk: remove unnecessary indirection 2018-06-01 07:43:53 -06:00
pblk-recovery.c lightnvm: pblk: rework write error recovery path 2018-06-01 09:02:53 -06:00
pblk-rl.c lightnvm: simplify geometry structure 2018-03-29 17:29:09 -06:00
pblk-sysfs.c lightnvm: pblk: implement 2.0 support 2018-03-29 17:29:09 -06:00
pblk-write.c lightnvm: pblk: rework write error recovery path 2018-06-01 09:02:53 -06:00
pblk.h lightnvm: pblk: rework write error recovery path 2018-06-01 09:02:53 -06:00