]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
ubi: fastmap: wl: Schedule fm_work if wear-leveling pool is empty
authorZhihao Cheng <chengzhihao1@huawei.com>
Mon, 19 Aug 2024 03:26:22 +0000 (11:26 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 13:03:04 +0000 (14:03 +0100)
commit366fda649f1a105703e2a111126e791e27e4b566
tree124e87dc40e7ff5750f113a5343c61626022a882
parente77bce0a8c3989b4173c36f4195122bca8f4a3e1
ubi: fastmap: wl: Schedule fm_work if wear-leveling pool is empty

[ Upstream commit c4595fe394a289927077e3da561db27811919ee0 ]

Since commit 14072ee33d5a ("ubi: fastmap: Check wl_pool for free peb
before wear leveling"), wear_leveling_worker() won't schedule fm_work
if wear-leveling pool is empty, which could temporarily disable the
wear-leveling until the fastmap is updated(eg. pool becomes empty).
Fix it by scheduling fm_work if wl_pool is empty during wear-leveing.

Fixes: 14072ee33d5a ("ubi: fastmap: Check wl_pool for free peb before wear leveling")
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/ubi/fastmap-wl.c
drivers/mtd/ubi/wl.c
drivers/mtd/ubi/wl.h