summaryrefslogtreecommitdiffstats
path: root/drivers/lightnvm/pblk-recovery.c
diff options
context:
space:
mode:
authorIgor Konopko2019-05-04 20:38:04 +0200
committerJens Axboe2019-05-06 18:19:18 +0200
commit32ac0fa3afebb8b83e3f9189af1a481c0110fe51 (patch)
tree2bdb691d452b29ecead33b7f561a78ed9a682e1a /drivers/lightnvm/pblk-recovery.c
parentlightnvm: pblk: wait for inflight IOs in recovery (diff)
downloadkernel-qcow2-linux-32ac0fa3afebb8b83e3f9189af1a481c0110fe51.tar.gz
kernel-qcow2-linux-32ac0fa3afebb8b83e3f9189af1a481c0110fe51.tar.xz
kernel-qcow2-linux-32ac0fa3afebb8b83e3f9189af1a481c0110fe51.zip
lightnvm: pblk: remove internal IO timeout
Currently during pblk padding, there is internal IO timeout introduced, which is smaller than default NVMe timeout. This can lead to various use-after-free issues. Since in case of any IO timeouts NVMe and block layer will handle timeout by themselves and report it back to use, there is no need to keep this internal timeout in pblk. Signed-off-by: Igor Konopko <igor.j.konopko@intel.com> Signed-off-by: Matias Bjørling <mb@lightnvm.io> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/lightnvm/pblk-recovery.c')
-rw-r--r--drivers/lightnvm/pblk-recovery.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/lightnvm/pblk-recovery.c b/drivers/lightnvm/pblk-recovery.c
index 137e963cd51d..865fe310cab4 100644
--- a/drivers/lightnvm/pblk-recovery.c
+++ b/drivers/lightnvm/pblk-recovery.c
@@ -290,12 +290,7 @@ next_pad_rq:
fail_complete:
kref_put(&pad_rq->ref, pblk_recov_complete);
-
- if (!wait_for_completion_io_timeout(&pad_rq->wait,
- msecs_to_jiffies(PBLK_COMMAND_TIMEOUT_MS))) {
- pblk_err(pblk, "pad write timed out\n");
- ret = -ETIME;
- }
+ wait_for_completion(&pad_rq->wait);
if (!pblk_line_is_full(line))
pblk_err(pblk, "corrupted padded line: %d\n", line->id);