Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

lightnvm: pblk: set propper line as data_line after gc

In current implementation of l2p recovery, when we are after gc and we
have open line, we are not setting current data line properly (we set
last line from the device instead of last line ordered by seq_nr) and
in consequence, kernel panic and data corruption.

Signed-off-by: Marcin Dziegielewski <marcin.dziegielewski@intel.com>
Reviewed-by: Javier González <javier@javigon.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>

authored by

Marcin Dziegielewski and committed by
Jens Axboe
4bbae699 05038712

+1
+1
drivers/lightnvm/pblk-recovery.c
··· 844 844 spin_unlock(&l_mg->free_lock); 845 845 } else { 846 846 spin_lock(&l_mg->free_lock); 847 + l_mg->data_line = data_line; 847 848 /* Allocate next line for preparation */ 848 849 l_mg->data_next = pblk_line_get(pblk); 849 850 if (l_mg->data_next) {