• David Woodhouse's avatar
    [JFFS2] Improve getdents vs. f_pos handling on NOR flash. · 15953580
    David Woodhouse authored
    Commit a491486a started obliterating
    dirents directly on the medium, when jffs2_can_mark_obsolete(). Removing
    them immediately from the f->dents list, however, screws up handling of
    f_pos within a directory -- because the offset is equivalent to the
    number of entries through the list we are, and the existence of
    deletion dirents served to provide 'placeholders' for unlinked
    entries. Now, 'rm -r' doesn't even manage to unlink everything in the
    directory.
    
    Revert to keeping 'deletion' dirents in the list, at least in memory
    even though we no longer write anything to the medium.
    
    Spotted, debugged and mostly fixed by Joakim Tjernlund
    Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
    15953580
write.c 21.1 KB