Commit 32ac0fa3 authored by Igor Konopko's avatar Igor Konopko Committed by Jens Axboe
Browse files

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: default avatarIgor Konopko <igor.j.konopko@intel.com>
Signed-off-by: default avatarMatias Bjørling <mb@lightnvm.io>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1fc3b305
Loading
Loading
Loading
Loading
+1 −6
Original line number Diff line number Diff line
@@ -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);
+0 −2
Original line number Diff line number Diff line
@@ -43,8 +43,6 @@

#define PBLK_CACHE_NAME_LEN (DISK_NAME_LEN + 16)

#define PBLK_COMMAND_TIMEOUT_MS 30000

/* Max 512 LUNs per device */
#define PBLK_MAX_LUNS_BITMAP (4)