• Chris Mason's avatar
    [PATCH] Fix reiserfs latencies caused by data=ordered · a3172027
    Chris Mason authored
    ReiserFS does periodic cleanup of old transactions in order to limit the
    length of time a journal replay may take after a crash.  Sometimes, writing
    metadata from an old (already committed) transaction may require committing
    a newer transaction, which also requires writing all data=ordered buffers.
    This can cause very long stalls on journal_begin.
    
    This patch makes sure new transactions will not need to be committed before
    trying a periodic reclaim of an old transaction.  It is low risk because if
    a bad decision is made, it just means a slightly longer journal replay
    after a crash.
    Signed-off-by: default avatarChris Mason <mason@suse.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    a3172027
journal.c 123 KB