Skip to content
  • Frederic Leroy's avatar
    Fix ext2/ext4 filesystem accesses beyond 2TiB · 04735e9c
    Frederic Leroy authored
    
    
    With CONFIG_SYS_64BIT_LBA, lbaint_t gets defined as a 64-bit type,
    which is required to represent block numbers for storage devices that
    exceed 2TiB (the block size usually is 512B), e.g. recent hard drives
    
    We now use lbaint_t for partition offset to reflect the lbaint_t change,
    and access partitions beyond or crossing the 2.1TiB limit.
    This required changes to signature of ext4fs_devread(), and type of all
    variables relatives to block sector.
    
    ext2/ext4 fs uses logical block represented by a 32 bit value. Logical
    block is a multiple of device block sector. To avoid overflow problem
    when calling ext4fs_devread(), we need to cast the sector parameter.
    
    Signed-off-by: default avatarFrédéric Leroy <fredo@starox.org>
    04735e9c