• Qu Wenruo's avatar
    btrfs: expand subpage support to any PAGE_SIZE > 4K · 1a42daab
    Qu Wenruo authored
    With the recent change in metadata handling, we can handle metadata in
    the following cases:
    
    - nodesize < PAGE_SIZE and sectorsize < PAGE_SIZE
      Go subpage routine for both metadata and data.
    
    - nodesize < PAGE_SIZE and sectorsize >= PAGE_SIZE
      Invalid case for now. As we require nodesize >= sectorsize.
    
    - nodesize >= PAGE_SIZE and sectorsize < PAGE_SIZE
      Go subpage routine for data, but regular page routine for metadata.
    
    - nodesize >= PAGE_SIZE and sectorsize >= PAGE_SIZE
      Go regular page routine for both metadata and data.
    
    Now we can handle any sectorsize < PAGE_SIZE, plus the existing
    sectorsize == PAGE_SIZE support.
    
    But here we introduce an artificial limit, any PAGE_SIZE > 4K case, we
    will only support 4K and PAGE_SIZE as sector size.
    
    The idea here is to reduce the test combinations, and push 4K as the
    default standard in the future.
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    1a42daab
disk-io.c 148 KB