• Q
    btrfs: scrub: factor out allocation and initialization of scrub_sector into helper · 5dd3d8e4
    Qu Wenruo 提交于
    The allocation and initialization is shared by 3 call sites, and we're
    going to change the initialization of some members in the upcoming
    patches.
    
    So factor out the allocation and initialization of scrub_sector into a
    helper, alloc_scrub_sector(), which will do the following work:
    
    - Allocate the memory for scrub_sector
    
    - Allocate a page for scrub_sector::page
    
    - Initialize scrub_sector::refs to 1
    
    - Attach the allocated scrub_sector to scrub_block
      The attachment is bidirectional, which means scrub_block::sectorv[]
      will be updated and scrub_sector::sblock will also be updated.
    
    - Update scrub_block::sector_count and do extra sanity check on it
    Signed-off-by: NQu Wenruo <wqu@suse.com>
    Reviewed-by: NDavid Sterba <dsterba@suse.com>
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    5dd3d8e4
scrub.c 120.1 KB