]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
lightnvm: pblk: set propper line as data_line after gc
authorMarcin Dziegielewski <marcin.dziegielewski@intel.com>
Sat, 4 May 2019 18:37:57 +0000 (20:37 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 6 May 2019 16:19:18 +0000 (10:19 -0600)
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>
drivers/lightnvm/pblk-recovery.c

index 83b467b5edc7718148fb9f7962ebf888332b215f..017874e03253efa5f231376d6b3b57ac2f9ffe96 100644 (file)
@@ -844,6 +844,7 @@ next:
                spin_unlock(&l_mg->free_lock);
        } else {
                spin_lock(&l_mg->free_lock);
+               l_mg->data_line = data_line;
                /* Allocate next line for preparation */
                l_mg->data_next = pblk_line_get(pblk);
                if (l_mg->data_next) {