• Joe Thornber's avatar
    dm bufio: update last_accessed when relinking a buffer · eb76faf5
    Joe Thornber authored
    The 'last_accessed' member of the dm_buffer structure was only set when
    the the buffer was created.  This led to each buffer being discarded
    after dm_bufio_max_age time even if it was used recently.  In practice
    this resulted in all thinp metadata being evicted soon after being read
    -- this is particularly problematic for metadata intensive workloads
    like multithreaded small random IO.
    
    'last_accessed' is now updated each time the buffer is moved to the head
    of the LRU list, so the buffer is now properly discarded if it was not
    used in dm_bufio_max_age time.
    Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
    Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
    Cc: stable@vger.kernel.org # v3.2+
    eb76faf5
dm-bufio.c 44.3 KB