• Kirill Smelkov's avatar
    bigfile/virtmem: Make sure pages are emitted to store in order · 43b6fdbc
    Kirill Smelkov authored
    Currently fileh_dirty_writeout() writes page via storeblk() in order -
    - those with lower ->f_pgoffset are stored first.
    
    This happens because current fileh_dirty_writeout() iterates whole
    pagemap to find dirty pages and pagemap iteration is ordered by
    f_pgoffset.
    
    In upcoming patch we'll rework writeout code not to iterate through
    whole pagemap, but only through dirty pages. However the property that
    pages are emitted in canonical order is useful, so let's make sure via
    tests this will stay preserved:
    
    In mkdirty2() we modify pages in 2, 0 order, but the latter code checks
    (via storeblk_trace()) they were actually stored in 0, 2 order.
    43b6fdbc
test_virtmem.c 35.8 KB