mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 00:10:09 +00:00
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>
This commit is contained in:
parent
1fc3b30569
commit
32ac0fa3af
2 changed files with 1 additions and 8 deletions
|
@ -290,12 +290,7 @@ static int pblk_recov_pad_line(struct pblk *pblk, struct pblk_line *line,
|
||||||
|
|
||||||
fail_complete:
|
fail_complete:
|
||||||
kref_put(&pad_rq->ref, pblk_recov_complete);
|
kref_put(&pad_rq->ref, pblk_recov_complete);
|
||||||
|
wait_for_completion(&pad_rq->wait);
|
||||||
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;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!pblk_line_is_full(line))
|
if (!pblk_line_is_full(line))
|
||||||
pblk_err(pblk, "corrupted padded line: %d\n", line->id);
|
pblk_err(pblk, "corrupted padded line: %d\n", line->id);
|
||||||
|
|
|
@ -43,8 +43,6 @@
|
||||||
|
|
||||||
#define PBLK_CACHE_NAME_LEN (DISK_NAME_LEN + 16)
|
#define PBLK_CACHE_NAME_LEN (DISK_NAME_LEN + 16)
|
||||||
|
|
||||||
#define PBLK_COMMAND_TIMEOUT_MS 30000
|
|
||||||
|
|
||||||
/* Max 512 LUNs per device */
|
/* Max 512 LUNs per device */
|
||||||
#define PBLK_MAX_LUNS_BITMAP (4)
|
#define PBLK_MAX_LUNS_BITMAP (4)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue