This version fixes three bugs in the 2nd patch of this series that caused kernel BUG when the system was under race. We weren't accounting with t_oustanding_credits correctly, and there were race conditions caused by the fact the I had overlooked the fact that __jbd2_log_wait_for_space() and jbd2_get_transaction() requires j_state_lock to be write locked. Theodore Ts'o (3): jbd2: Use atomic variables to avoid taking t_handle_lock in jbd2_journal_stop jbd2: Change j_state_lock to be a rwlock_t jbd2: Remove t_handle_lock from start_this_handle() fs/ext4/inode.c | 4 +- fs/ext4/super.c | 4 +- fs/jbd2/checkpoint.c | 18 +++--- fs/jbd2/commit.c | 42 ++++++------ fs/jbd2/journal.c | 94 +++++++++++++-------------- fs/jbd2/transaction.c | 172 ++++++++++++++++++++++++++++--------------------- fs/ocfs2/journal.c | 4 +- include/linux/jbd2.h | 12 ++-- 8 files changed, 188 insertions(+), 162 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html