OSDN Git Service

lightnvm: pblk: fix race during put line
authorIgor Konopko <igor.j.konopko@intel.com>
Sat, 4 May 2019 18:37:51 +0000 (20:37 +0200)
committerJens Axboe <axboe@kernel.dk>
Mon, 6 May 2019 16:19:17 +0000 (10:19 -0600)
commit4ca885241950265a82e922a018b90ff8047d7aac
tree406e45bcb91aeb5f5c502e6ecbe7663d00356965
parentd378561b8ec7b46402de2b649cd44ee835d2e579
lightnvm: pblk: fix race during put line

In the pblk_put_line_back function, a race condition with
__pblk_map_invalidate can make a line not part of any lists.

Fix gc_list by resetting it to null fixes the above issue.

Fixes: a4bd217 ("lightnvm: physical block device (pblk) target")
Signed-off-by: Igor Konopko <igor.j.konopko@intel.com>
Reviewed-by: Javier González <javier@javigon.com>
Reviewed-by: Hans Holmberg <hans.holmberg@cnexlabs.com>
Signed-off-by: Matias Bjørling <mb@lightnvm.io>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/lightnvm/pblk-gc.c