• A
    btrfs: use readahead API for scrub · 7a26285e
    Arne Jansen 提交于
    Scrub uses a simple tree-enumeration to bring the relevant portions
    of the extent- and csum-tree into the page cache before starting the
    scrub-I/O. This is now replaced by using the new readahead-API.
    During readahead the scrub is being accounted as paused, so it won't
    hold off transaction commits.
    
    This change raises the average disk bandwith utilisation on my test
    volume from 70% to 90%. On another volume, the time for a test run
    went down from 89s to 43s.
    
    Changes v5:
     - reada1/2 are now of type struct reada_control *
    Signed-off-by: NArne Jansen <sensille@gmx.net>
    7a26285e
scrub.c 33.4 KB