• Q
    btrfs: scrub: support subpage data scrub · b29dca44
    Qu Wenruo 提交于
    Btrfs scrub is more flexible than buffered data write path, as we can
    read an unaligned subpage data into page offset 0.
    
    This ability makes subpage support much easier, we just need to check
    each scrub_page::page_len and ensure we only calculate hash for [0,
    page_len) of a page.
    
    There is a small thing to notice: for subpage case, we still do sector
    by sector scrub.  This means we will submit a read bio for each sector
    to scrub, resulting in the same amount of read bios, just like on the 4K
    page systems.
    
    This behavior can be considered as a good thing, if we want everything
    to be the same as 4K page systems.  But this also means, we're wasting
    the possibility to submit larger bio using 64K page size.  This is
    another problem to consider in the future.
    Signed-off-by: NQu Wenruo <wqu@suse.com>
    Reviewed-by: NDavid Sterba <dsterba@suse.com>
    Signed-off-by: NDavid Sterba <dsterba@suse.com>
    b29dca44
scrub.c 109.4 KB