• Jan Kara's avatar
    jbd2: fix checkpoint list cleanup · 0fa1d864
    Jan Kara authored
    commit 33d14975 upstream.
    
    Unlike comments and expectation of callers journal_clean_one_cp_list()
    returned 1 not only if it freed the transaction but also if it freed
    some buffers in the transaction. That could make
    __jbd2_journal_clean_checkpoint_list() skip processing
    t_checkpoint_io_list and continue with processing the next transaction.
    This is mostly a cosmetic issue since the only result is we can
    sometimes free less memory than we could. But it's still worth fixing.
    Fix journal_clean_one_cp_list() to return 1 only if the transaction was
    really freed.
    
    Fixes: 50849db3Signed-off-by: default avatarJan Kara <jack@suse.com>
    Signed-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
    Signed-off-by: default avatarKamal Mostafa <kamal@canonical.com>
    0fa1d864
checkpoint.c 19.2 KB