• Qu Wenruo's avatar
    btrfs: raid56: remove the old error tracking system · ad3daf1c
    Qu Wenruo authored
    Since all the recovery paths have been migrated to the new error bitmap
    based system, we can remove the old stripe number based system.
    
    This cleanup involves one behavior change:
    
    - Rebuild rbio can no longer be merged
      Previously a rebuild rbio (caused by retry after data csum mismatch)
      can be merged, if the error happens in the same stripe.
    
      But with the new error bitmap based solution, it's much harder to
      compare error bitmaps.
    
      So here we just don't merge rebuild rbio at all.
      This may introduce some performance impact at extreme corner cases,
      but we're willing to take it.
    
    Other than that, this patch will cleanup the following members:
    
    - rbio::faila
    - rbio::failb
      They will be replaced by per-vertical stripe check, which is more
      accurate.
    
    - rbio::error
      It will be replace by per-vertical stripe error bitmap check.
    
    - Allow get_rbio_vertical_errors() to accept NULL pointers for
      @faila and @failb
      Some call sites only want to check if we have errors beyond the
      tolerance.
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    ad3daf1c
raid56.c 70 KB