• Adrian Hunter's avatar
    UBIFS: allow for gaps when dirtying the LPT · 7e2d9bfa
    Adrian Hunter authored
    The LPT may have gaps in it because initially empty LEBs
    are not added by mkfs.ubifs - because it does not know how
    many there are.  Then UBIFS allocates empty LEBs in the
    reverse order that they are discovered i.e. they are
    added to, and removed from, the front of a list.  That
    creates a gap in the middle of the LPT.
    
    The function dirtying the LPT tree (for the purpose of
    small model garbage collection) assumed that a gap could
    only occur at the very end of the LPT and stopped dirtying
    prematurely, which in turn resulted in the LPT running
    out of space - something that is designed to be impossible.
    Signed-off-by: default avatarAdrian Hunter <ext-adrian.hunter@nokia.com>
    7e2d9bfa
lpt_commit.c 46.2 KB