• Zhihao Cheng's avatar
    ubi: fastmap: Use free pebs reserved for bad block handling · 8ff4e620
    Zhihao Cheng authored
    If new bad PEBs occur, UBI firstly consumes ubi->beb_rsvd_pebs, and then
    ubi->avail_pebs, finally UBI becomes read-only if above two items are 0,
    which means that the amount of PEBs for user volumes is not effected.
    Besides, UBI reserves count of free PBEs is ubi->beb_rsvd_pebs while
    filling wl pool or getting free PEBs, but ubi->avail_pebs is not reserved.
    So ubi->beb_rsvd_pebs and ubi->avail_pebs have nothing to do with the
    usage of free PEBs, UBI can use all free PEBs.
    
    Commit 78d6d497 ("UBI: Move fastmap specific functions out of wl.c")
    has removed beb_rsvd_pebs checking while filling pool. Now, don't reserve
    ubi->beb_rsvd_pebs while filling wl_pool. This will fill more PEBs in pool
    and also reduce fastmap updating frequency.
    
    Also remove beb_rsvd_pebs checking in ubi_wl_get_fm_peb.
    
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=217787Signed-off-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
    Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
    8ff4e620
fastmap-wl.c 11.2 KB