• Russell King's avatar
    fs/adfs: map: incorporate map offsets into layout · 197ba3c5
    Russell King authored
    lookup_zone() and scan_free_map() cope in different ways with the
    location of the map data within a zone:
    
    1. lookup_zone() adds a four byte offset to the map data pointer to
       skip over the check and free link bytes.
    
    2. scan_free_map() needs to use the free link pointer, which is an
       offset from itself, so we end up adding a 32-bit offset to the
       end pointer (aka mapsize) which is really confusing.
    
    Rename mapsize to endbit as this is really what it is, and incorporate
    the 32-bit offset into the map layout.  This means that both dm_startbit
    and dm_endbit are now bit offsets from the start of the buffer, rather
    than four bytes in to the buffer.
    Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    197ba3c5
map.c 10.3 KB