• Pavel Machek's avatar
    pdflush: handle resume wakeups · d92165fe
    Pavel Machek authored
    2.6.16 needs this. It was merged into 2.6.18-rc1.
    
    pdflush is carefully designed to ensure that all wakeups have some
    corresponding work to do - if a woken-up pdflush thread discovers that
    it hasn't been given any work to do then this is considered an error.
    
    That all broke when swsusp came along - because a timer-delivered
    wakeup to a frozen pdflush thread will just get lost.  This causes the
    pdflush thread to get lost as well: the writeback timer is supposed to
    be re-armed by pdflush in process context, but pdflush doesn't execute
    the callout which does this.
    
    Fix that up by ignoring the return value from try_to_freeze(): jsut
    proceed, see if we have any work pending and only go back to sleep if
    that is not the case.
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    Signed-off-by: default avatarPavel Machek <pavel@suse.cz>
    Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
    d92165fe
pdflush.c 6.32 KB