• Andrew Morton's avatar
    writeback: fix time ordering of the per superblock dirty inode lists 7 · 670e4def
    Andrew Morton authored
    This one fixes four bugs.
    
    There are a few situation in there where writeback decides it is going to skip
    over a blockdev inode on the kernel-internal blockdev superblock.  It
    presently does this by moving the blockdev inode onto the tail of the blockdev
    superblock's s_dirty.  But
    
    a) this screws up s_dirty's reverse-time-orderedness and
    
    b) refiling the blockdev for writeback in another 30 second is rude.  We
       should try again sooner than that.
    
    Fix all this up by using redirty_head(): move the blockdev inode onto the head
    of the blockdev superblock's s_dirty list for prompt writeback.
    
    Cc: Mike Waychison <mikew@google.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    670e4def
fs-writeback.c 22.1 KB