• Qu Wenruo's avatar
    btrfs: raid56: make btrfs_raid_bio more compact · 29b06838
    Qu Wenruo authored
    There are a lot of members using much larger type in btrfs_raid_bio than
    necessary, like nr_pages which represents the total number of a full
    stripe.
    
    Instead of int (which is at least 32bits), u16 is already enough
    (max stripe length will be 256MiB, already beyond current RAID56 device
    number limit).
    
    So this patch will reduce the width of the following members:
    
    - stripe_len to u32
    - nr_pages to u16
    - nr_data to u8
    - real_stripes to u8
    - scrubp to u8
    - faila/b to s8
      As -1 is used to indicate no corruption
    
    This will slightly reduce the size of btrfs_raid_bio from 272 bytes to
    256 bytes, reducing 16 bytes usage.
    
    But please note that, when using btrfs_raid_bio, we allocate extra space
    for it to cover various pointer array, so the reduce memory is not
    really a big saving overall.
    
    As we're here modifying the comments already, update existing comments
    to current code standard.
    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>
    29b06838
raid56.c 66.5 KB