aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/lightnvm/pblk-read.c
diff options
context:
space:
mode:
authorIgor Konopko <igor.j.konopko@intel.com>2019-05-04 20:38:05 +0200
committerJens Axboe <axboe@kernel.dk>2019-05-06 10:19:18 -0600
commitf2e024570ef1a3d443875f6063321ee2e503ceb1 (patch)
tree38d0d4514b953abf1af92e4cb92acf325b0039e8 /drivers/lightnvm/pblk-read.c
parentlightnvm: pblk: remove internal IO timeout (diff)
downloadwireguard-linux-f2e024570ef1a3d443875f6063321ee2e503ceb1.tar.xz
wireguard-linux-f2e024570ef1a3d443875f6063321ee2e503ceb1.zip
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>
Diffstat (limited to 'drivers/lightnvm/pblk-read.c')
-rw-r--r--drivers/lightnvm/pblk-read.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/lightnvm/pblk-read.c b/drivers/lightnvm/pblk-read.c
index 7b7a04a80d67..27f8a76d8bd8 100644
--- a/drivers/lightnvm/pblk-read.c
+++ b/drivers/lightnvm/pblk-read.c
@@ -641,7 +641,6 @@ int pblk_submit_read_gc(struct pblk *pblk, struct pblk_gc_rq *gc_rq)
if (pblk_submit_io_sync(pblk, &rqd)) {
ret = -EIO;
- pblk_err(pblk, "GC read request failed\n");
goto err_free_bio;
}