• Jingbo Xu's avatar
    erofs: set block size to the on-disk block size · d3c4bdcc
    Jingbo Xu authored
    Set the block size to that specified in on-disk superblock.
    
    Also remove the hard constraint of PAGE_SIZE block size for the
    uncompressed device backend.  This constraint is temporarily remained
    for compressed device and fscache backend, as there is more work needed
    to handle the condition where the block size is not equal to PAGE_SIZE.
    
    It is worth noting that the on-disk block size is read prior to
    erofs_superblock_csum_verify(), as the read block size is needed in the
    latter.
    
    Besides, later we are going to make erofs refer to tar data blobs (which
    is 512-byte aligned) for OCI containers, where the block size is 512
    bytes.  In this case, the 512-byte block size may not be adequate for a
    directory to contain enough dirents.  To fix this, we are also going to
    introduce directory block size independent on the block size.
    
    Due to we have already supported block size smaller than PAGE_SIZE now,
    disable all these images with such separated directory block size until
    we supported this feature later.
    Signed-off-by: default avatarJingbo Xu <jefflexu@linux.alibaba.com>
    Reviewed-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
    Reviewed-by: default avatarYue Hu <huyue2@coolpad.com>
    Reviewed-by: default avatarChao Yu <chao@kernel.org>
    Link: https://lore.kernel.org/r/20230313135309.75269-3-jefflexu@linux.alibaba.com
    [ Gao Xiang: update documentation. ]
    Signed-off-by: default avatarGao Xiang <hsiangkao@linux.alibaba.com>
    d3c4bdcc
erofs.rst 15.8 KB