• Qu Wenruo's avatar
    btrfs: raid56: make steal_rbio() subpage compatible · d4e28d9b
    Qu Wenruo authored
    Function steal_rbio() will take all the uptodate pages from the source
    rbio to destination rbio.
    
    With the new stripe_sectors[] array, we also need to do the extra check:
    
    - Check sector::flags to make sure the full page is uptodate
      Now we don't use PageUptodate flag for subpage cases to indicate
      if the page is uptodate.
    
      Instead we need to check all the sectors belong to the page to be sure
      about whether it's full page uptodate.
    
      So here we introduce a new helper, full_page_sectors_uptodate() to do
      the check.
    
    - Update rbio::stripe_sectors[] to use the new page pointer
      We only need to change the page pointer, no need to change anything
      else.
    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>
    d4e28d9b
raid56.c 72.3 KB